Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
283bafa228 | ||
|
|
03bd428345 | ||
|
|
f77b853f3f | ||
|
|
43a89a5c61 | ||
|
|
44d7f94c31 | ||
|
|
7c84dc9890 | ||
|
|
025577a13f | ||
|
|
c180cc85cf | ||
|
|
092a30dd7d | ||
|
|
cd7c8f7849 | ||
|
|
89ee1332fe | ||
|
|
b926fffe80 | ||
|
|
7924a796ea | ||
|
|
8d45738126 | ||
|
|
e687c9b4d9 | ||
|
|
d2e9028726 | ||
|
|
e6638faffc | ||
|
|
f000530746 | ||
|
|
5bf04f841b | ||
|
|
5d95797aff | ||
|
|
9db2907a48 | ||
|
|
5423ae40d6 | ||
|
|
2de68acfea | ||
|
|
71e29b7388 | ||
|
|
6d6619cbb4 | ||
|
|
651053491e | ||
|
|
81f9919992 | ||
|
|
b57170d596 | ||
|
|
60462c033b | ||
|
|
3f597e59e0 | ||
|
|
a62051e5ff | ||
|
|
5483ddf024 | ||
|
|
62ef4b91fc | ||
|
|
8664521f08 | ||
|
|
6ef23916f0 | ||
|
|
73f8a2fb02 | ||
|
|
a552fc5329 | ||
|
|
505a91a6ed | ||
|
|
0d3b678800 | ||
|
|
efb115c2aa | ||
|
|
8721d285ce | ||
|
|
f421f9979d | ||
|
|
d5ad641102 | ||
|
|
ec6199c973 | ||
|
|
0eb09d097e | ||
|
|
13265b3d6b | ||
|
|
dbc7cd7bac | ||
|
|
4c1f36cda4 | ||
|
|
987af6ba16 | ||
|
|
58451ae18b |
@@ -69,12 +69,12 @@ You should have received a copy of the GNU General Public License, version
|
||||
3, in "[docs/COPYING](./docs/COPYING)". If not, see
|
||||
<https://www.gnu.org/licenses/gpl-3.0.html>.
|
||||
|
||||
Please report any bugs to **pv@ivarch.com**, or use the issue tracker linked
|
||||
from the **pv** home page.
|
||||
Please report bugs or request features via the issue tracker linked from the
|
||||
home page.
|
||||
|
||||
The **pv** home page is at:
|
||||
|
||||
> [https://www.ivarch.com/programs/pv.shtml](https://www.ivarch.com/programs/pv.shtml)
|
||||
> [https://ivarch.com/p/pv](https://ivarch.com/p/pv)
|
||||
|
||||
The latest version can always be found here.
|
||||
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ dnl Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2025 Andrew Wood
|
||||
dnl
|
||||
dnl License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
|
||||
|
||||
AC_INIT([pv], [1.9.27], [pv@ivarch.com], [pv], [https://www.ivarch.com/programs/pv.shtml])
|
||||
AC_INIT([pv], [1.9.34], [https://codeberg.org/ivarch/pv/issues], [pv], [https://ivarch.com/p/pv])
|
||||
AC_CONFIG_SRCDIR([src/include/config.h.in])
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
AC_CONFIG_HEADERS([src/include/config.h])
|
||||
|
||||
+29
-24
@@ -84,28 +84,30 @@ is acknowledged and greatly appreciated:
|
||||
* [Nick Black](https://nick-black.com) - added **--bits** option
|
||||
* [Andrew Schulman](https://github.com/andrew-schulman) - provided reproducible example of terminal size detection issue in 1.7.17/1.7.18
|
||||
* [fuschia74](https://github.com/fuchsia74) - provided **--enable-static** patch for "`configure`"
|
||||
* [Wilhelm von Thiele](https://github.com/TurtleWilly) - assisted with OS X cleanups ([#73](https://codeberg.org/a-j-wood/pv/issues/73), [#74](https://codeberg.org/a-j-wood/pv/issues/74))
|
||||
* Matějů Miroslav, Ing. - suggested fix for ETA and elapsed time faults when suspending and resuming a machine ([#13](https://codeberg.org/a-j-wood/pv/issues/13))
|
||||
* Anthony DeRobertis - suggested the **--error-skip-block** option ([#37](https://codeberg.org/a-j-wood/pv/issues/37))
|
||||
* [Wilhelm von Thiele](https://github.com/TurtleWilly) - assisted with OS X cleanups ([#73](https://codeberg.org/ivarch/pv/issues/73), [#74](https://codeberg.org/ivarch/pv/issues/74))
|
||||
* Matějů Miroslav, Ing. - suggested fix for ETA and elapsed time faults when suspending and resuming a machine ([#13](https://codeberg.org/ivarch/pv/issues/13))
|
||||
* Anthony DeRobertis - suggested the **--error-skip-block** option ([#37](https://codeberg.org/ivarch/pv/issues/37))
|
||||
* Benoit Pierre - provided patches for compilation without IPC support, without HAVE_STRUCT_STAT_ST_BLKSIZE, and on MacOS
|
||||
* [gustav-b](https://codeberg.org/gustav-b) - suggested percentage formatting correction ([#80](https://codeberg.org/a-j-wood/pv/issues/80))
|
||||
* [Thomas Bertels](https://codeberg.org/tbertels) - updated French translations ([#83](https://codeberg.org/a-j-wood/pv/pulls/83))
|
||||
* [kevinruddy](https://codeberg.org/kevinruddy) - added decimal units option ([#85](https://codeberg.org/a-j-wood/pv/pulls/85))
|
||||
* [xmort](https://codeberg.org/xmort) - added **--output** option ([#90](https://codeberg.org/a-j-wood/pv/pulls/90))
|
||||
* [bogiord](https://codeberg.org/bogiord) - reported the loss of output block device size detection in 1.8.10, and suggested the fix ([#91](https://codeberg.org/a-j-wood/pv/issues/91))
|
||||
* [eborisch](https://codeberg.org/eborisch) - provided fix for misbehaviour when used with "`zfs send`" due to treating zero sized writes (generally due to timer interruption) as end of file ([#92](https://codeberg.org/a-j-wood/pv/pulls/92), [#93](https://codeberg.org/a-j-wood/pv/pulls/93))
|
||||
* [alexanderperlis](https://codeberg.org/alexanderperlis) - provided initial support for block devices with **--size `@`FILE** ([#94](https://codeberg.org/a-j-wood/pv/pulls/94))
|
||||
* [jettero](https://codeberg.org/jettero) - reported double-free coredump when using **--watchfd** after 1.8.10 ([#96](https://codeberg.org/a-j-wood/pv/issues/96))
|
||||
* Venky.N.Iyer - suggested **--stats** ([#49](https://codeberg.org/a-j-wood/pv/issues/49))
|
||||
* Roland Kletzing - suggested **--rate** with **--numeric** ([#17](https://codeberg.org/a-j-wood/pv/issues/17))
|
||||
* [Michael Mior](https://codeberg.org/michaelmior) - suggested **--store-and-forward** ([#100](https://codeberg.org/a-j-wood/pv/issues/100))
|
||||
* [dbungert](https://codeberg.org/dbungert) - reported issue with *valgrind* 3.23 misreporting leaking file descriptors ([#97](https://codeberg.org/a-j-wood/pv/issues/97))
|
||||
* Joachim Haga - suggested showing progress in the window title ([#3](https://codeberg.org/a-j-wood/pv/issues/3))
|
||||
* [Martin Sarsale](https://github.com/runa) - suggested showing progress in the process title ([#4](https://codeberg.org/a-j-wood/pv/issues/4))
|
||||
* [2bits](https://github.com/2bits) - reported position sensing fault with **--watchfd** in 1.9.0 ([#118](https://codeberg.org/a-j-wood/pv/issues/118))
|
||||
* [heitbaum](https://codeberg.org/heitbaum) - assisted with cross-compilation fault introduced in 1.9.7 ([#120](https://codeberg.org/a-j-wood/pv/issues/120))
|
||||
* [meego](https://codeberg.org/meego) - suggested "**%nL**", the last line preview ([#121](https://codeberg.org/a-j-wood/pv/issues/121))
|
||||
* [Alexander Petrossian](https://github.com/neopaf) - suggested using Unicode output for a more granular progress bar, and provided the codepoints to use ([#15](https://codeberg.org/a-j-wood/pv/issues/15))
|
||||
* [gustav-b](https://codeberg.org/gustav-b) - suggested percentage formatting correction ([#80](https://codeberg.org/ivarch/pv/issues/80))
|
||||
* [Thomas Bertels](https://codeberg.org/tbertels) - updated French translations ([#83](https://codeberg.org/ivarch/pv/pulls/83))
|
||||
* [kevinruddy](https://codeberg.org/kevinruddy) - added decimal units option ([#85](https://codeberg.org/ivarch/pv/pulls/85))
|
||||
* [xmort](https://codeberg.org/xmort) - added **--output** option ([#90](https://codeberg.org/ivarch/pv/pulls/90))
|
||||
* [bogiord](https://codeberg.org/bogiord) - reported the loss of output block device size detection in 1.8.10, and suggested the fix ([#91](https://codeberg.org/ivarch/pv/issues/91))
|
||||
* [eborisch](https://codeberg.org/eborisch) - provided fix for misbehaviour when used with "`zfs send`" due to treating zero sized writes (generally due to timer interruption) as end of file ([#92](https://codeberg.org/ivarch/pv/pulls/92), [#93](https://codeberg.org/ivarch/pv/pulls/93))
|
||||
* [alexanderperlis](https://codeberg.org/alexanderperlis) - provided initial support for block devices with **--size `@`FILE** ([#94](https://codeberg.org/ivarch/pv/pulls/94))
|
||||
* [jettero](https://codeberg.org/jettero) - reported double-free coredump when using **--watchfd** after 1.8.10 ([#96](https://codeberg.org/ivarch/pv/issues/96))
|
||||
* Venky.N.Iyer - suggested **--stats** ([#49](https://codeberg.org/ivarch/pv/issues/49))
|
||||
* Roland Kletzing - suggested **--rate** with **--numeric** ([#17](https://codeberg.org/ivarch/pv/issues/17))
|
||||
* [Michael Mior](https://codeberg.org/michaelmior) - suggested **--store-and-forward** ([#100](https://codeberg.org/ivarch/pv/issues/100))
|
||||
* [dbungert](https://codeberg.org/dbungert) - reported issue with *valgrind* 3.23 misreporting leaking file descriptors ([#97](https://codeberg.org/ivarch/pv/issues/97))
|
||||
* Joachim Haga - suggested showing progress in the window title ([#3](https://codeberg.org/ivarch/pv/issues/3))
|
||||
* [Martin Sarsale](https://github.com/runa) - suggested showing progress in the process title ([#4](https://codeberg.org/ivarch/pv/issues/4))
|
||||
* [2bits](https://github.com/2bits) - reported position sensing fault with **--watchfd** in 1.9.0 ([#118](https://codeberg.org/ivarch/pv/issues/118))
|
||||
* [heitbaum](https://codeberg.org/heitbaum) - assisted with cross-compilation fault introduced in 1.9.7 ([#120](https://codeberg.org/ivarch/pv/issues/120))
|
||||
* [meego](https://codeberg.org/meego) - suggested "**%nL**", the last line preview ([#121](https://codeberg.org/ivarch/pv/issues/121))
|
||||
* [Alexander Petrossian](https://github.com/neopaf) - suggested using Unicode output for a more granular progress bar, and provided the codepoints to use ([#15](https://codeberg.org/ivarch/pv/issues/15))
|
||||
* [jmealo](https://codeberg.org/jmealo) - suggested JSON progress output ([#127](https://codeberg.org/ivarch/pv/issues/127))
|
||||
* [ipaqmaster](https://codeberg.org/ipaqmaster) - investigated 100%-CPU utilisation bug when piping to a command that has exited ([#164](https://codeberg.org/ivarch/pv/issues/164))
|
||||
|
||||
Translations provided through [Codeberg Weblate](https://translate.codeberg.org/projects/pv/):
|
||||
|
||||
@@ -113,15 +115,18 @@ Translations provided through [Codeberg Weblate](https://translate.codeberg.org/
|
||||
* [mmatous](https://translate.codeberg.org/user/mmatous/) (135)
|
||||
* **French**
|
||||
* anonymous suggestions (7)
|
||||
* [milimarg](https://codeberg.org/milimarg) (13)
|
||||
* [Maxi_Mega](https://translate.codeberg.org/user/Maxi_Mega/) (11)
|
||||
* **German**
|
||||
* [Hartmut Goebel](https://translate.codeberg.org/user/htgoebel/) (77)
|
||||
* [Benny](https://translate.codeberg.org/user/Benny/) (6)
|
||||
* [m0yellow](https://translate.codeberg.org/user/m0yellow/) (9)
|
||||
* [Benny](https://translate.codeberg.org/user/Benny/) (7)
|
||||
* [kre](https://translate.codeberg.org/user/kre/) (2)
|
||||
* [fnetX](https://translate.codeberg.org/user/fnetX/) (1)
|
||||
* **Polish**
|
||||
* [coralpink](https://translate.codeberg.org/user/coralpink/) (100)
|
||||
* [coralpink](https://translate.codeberg.org/user/coralpink/) (106)
|
||||
* **Russian**
|
||||
* [0ko](https://translate.codeberg.org/user/0ko/) (151)
|
||||
* [0ko](https://translate.codeberg.org/user/0ko/) (157)
|
||||
* **Turkish**
|
||||
* [omerdduran](https://translate.codeberg.org/user/omerdduran/) (129)
|
||||
|
||||
|
||||
+1
-1
@@ -138,7 +138,7 @@ these will need to be corrected by translators.
|
||||
The package maintainer should run through these steps for a new release:
|
||||
|
||||
* Check for patches and bug reports:
|
||||
* <https://codeberg.org/a-j-wood/pv/issues>
|
||||
* <https://codeberg.org/ivarch/pv/issues>
|
||||
* <https://tracker.debian.org/pkg/pv>
|
||||
* <https://launchpad.net/ubuntu/+source/pv>
|
||||
* <https://archlinux.org/packages/extra/x86_64/pv/>
|
||||
|
||||
+68
-55
@@ -1,3 +1,16 @@
|
||||
### 1.9.34 - 26 July 2025
|
||||
|
||||
* *fix:* prevent tight loop consuming CPU when waiting for a partially filled output pipe to be drained ([#164](https://codeberg.org/ivarch/pv/issues/164))
|
||||
* *fix:* correct a memory handling fault when using **--bar-style** with **--watchfd** ([#163](https://codeberg.org/ivarch/pv/issues/163))
|
||||
* *i18n:* French translations updated
|
||||
|
||||
### 1.9.31 - 28 January 2025
|
||||
|
||||
* *feature:* the **--format** option can now be used with **--numeric** for customised numeric output, such as JSON ([#127](https://codeberg.org/ivarch/pv/issues/127))
|
||||
* *i18n:* German translations updated
|
||||
* *i18n:* Polish translations updated
|
||||
* *i18n:* Russian translations updated
|
||||
|
||||
### 1.9.27 - 12 January 2025
|
||||
|
||||
* *fix:* turn off IPC support if _sys/shm.h_ is not available, for compilation on Termux
|
||||
@@ -5,14 +18,14 @@
|
||||
|
||||
### 1.9.25 - 22 December 2024
|
||||
|
||||
* *fix:* test failure of **--watchfd** on macOS corrected ([#124](https://codeberg.org/a-j-wood/pv/issues/124))
|
||||
* *fix:* test failure of **--watchfd** on macOS corrected ([#124](https://codeberg.org/ivarch/pv/issues/124))
|
||||
|
||||
### 1.9.24 - 19 December 2024
|
||||
|
||||
* *feature:* new **--format** sequences for graphical progress bars - "**%{bar-block}**", "**%{bar-granular}**", and "**%{bar-shaded}**" ([#15](https://codeberg.org/a-j-wood/pv/issues/15))
|
||||
* *feature:* new **--format** sequences for graphical progress bars - "**%{bar-block}**", "**%{bar-granular}**", and "**%{bar-shaded}**" ([#15](https://codeberg.org/ivarch/pv/issues/15))
|
||||
* *feature:* new **--format** sequence "**%{sgr:colour,...}**" to use ECMA-48 Select Graphic Rendition codes to add colours
|
||||
* *feature:* new **--bar-style** option to change the default bar style ([#15](https://codeberg.org/a-j-wood/pv/issues/15))
|
||||
* *feature:* allow decimal values such as "1.5G" with "**--size**", "**--rate-limit**", "**--buffer-size**", and "**error-skip-block**" ([#35](https://codeberg.org/a-j-wood/pv/issues/35))
|
||||
* *feature:* new **--bar-style** option to change the default bar style ([#15](https://codeberg.org/ivarch/pv/issues/15))
|
||||
* *feature:* allow decimal values such as "1.5G" with "**--size**", "**--rate-limit**", "**--buffer-size**", and "**error-skip-block**" ([#35](https://codeberg.org/ivarch/pv/issues/35))
|
||||
* *cleanup:* improve progress bar granularity on wide displays by internally tracking the transfer percentage as a decimal number
|
||||
* *cleanup:* correct detection of **--remote** usability on GNU Hurd
|
||||
* *cleanup:* reduce likelihood of race conditions in tests when running on slow systems
|
||||
@@ -21,41 +34,41 @@
|
||||
|
||||
### 1.9.15 - 8 December 2024
|
||||
|
||||
* *feature:* new **--format** sequence "**%nL**", showing the most recent line written ([#121](https://codeberg.org/a-j-wood/pv/issues/121))
|
||||
* *feature:* new **--format** sequence "**%nL**", showing the most recent line written ([#121](https://codeberg.org/ivarch/pv/issues/121))
|
||||
* *feature:* each **--format** sequence now has a more readable equivalent name, for example "**%r**" can be written as "**%{rate}**"
|
||||
* *feature:* new **--format** sequences "**%{progress-bar-only}**" and "**%{progress-amount-only}**"
|
||||
* *fix:* allow **--format** to include "%nA" more than once, with different "n" values ([#122](https://codeberg.org/a-j-wood/pv/issues/122))
|
||||
* *fix:* allow **--format** to include "%nA" more than once, with different "n" values ([#122](https://codeberg.org/ivarch/pv/issues/122))
|
||||
* *fix:* allow **--format** to include "%p" more than once, with optional width prefix
|
||||
* *fix:* calculate width correctly when wide characters are in **--format** strings
|
||||
* *fix:* add _configure_ script fallback for **--remote** check when cross-compiling ([#120](https://codeberg.org/a-j-wood/pv/issues/120))
|
||||
* *fix:* allow **extra-display** to be changed by **--remote** ([#123](https://codeberg.org/a-j-wood/pv/issues/123))
|
||||
* *fix:* add _configure_ script fallback for **--remote** check when cross-compiling ([#120](https://codeberg.org/ivarch/pv/issues/120))
|
||||
* *fix:* allow **extra-display** to be changed by **--remote** ([#123](https://codeberg.org/ivarch/pv/issues/123))
|
||||
* *cleanup:* refactored display formatters into separate functions
|
||||
* *cleanup:* improve format parser handling of dangling or invalid "%" sequences
|
||||
|
||||
### 1.9.7 - 2 December 2024
|
||||
|
||||
* *feature:* new **--extra-display** option to update window and process titles ([#3](https://codeberg.org/a-j-wood/pv/issues/3), [#4](https://codeberg.org/a-j-wood/pv/issues/4))
|
||||
* *fix:* correct failure to report file positions in **--watchfd** ([#118](https://codeberg.org/a-j-wood/pv/issues/118))
|
||||
* *feature:* new **--extra-display** option to update window and process titles ([#3](https://codeberg.org/ivarch/pv/issues/3), [#4](https://codeberg.org/ivarch/pv/issues/4))
|
||||
* *fix:* correct failure to report file positions in **--watchfd** ([#118](https://codeberg.org/ivarch/pv/issues/118))
|
||||
* *i18n:* Russian translations added
|
||||
* *cleanup:* tests added for **--watchfd** ([#10](https://codeberg.org/a-j-wood/pv/issues/10))
|
||||
* *cleanup:* worked around file descriptor leak false positives in valgrind 3.23 ([#97](https://codeberg.org/a-j-wood/pv/issues/97))
|
||||
* *cleanup:* tests added for **--watchfd** ([#10](https://codeberg.org/ivarch/pv/issues/10))
|
||||
* *cleanup:* worked around file descriptor leak false positives in valgrind 3.23 ([#97](https://codeberg.org/ivarch/pv/issues/97))
|
||||
* *cleanup:* cleared all *shellcheck* warnings in the test scripts
|
||||
* *cleanup:* check at compile-time whether **--remote** is going to be usable ([#119](https://codeberg.org/a-j-wood/pv/issues/119))
|
||||
* *cleanup:* check at compile-time whether **--remote** is going to be usable ([#119](https://codeberg.org/ivarch/pv/issues/119))
|
||||
|
||||
### 1.9.0 - 15 October 2024
|
||||
|
||||
* *feature:* new **--store-and-forward** option to read input to a file first, then write it to the output ([#100](https://codeberg.org/a-j-wood/pv/issues/100))
|
||||
* *feature:* new **--stats** option to show transfer stats at the end, like "`ping`" ([#49](https://codeberg.org/a-j-wood/pv/issues/49))
|
||||
* *feature:* **--rate** can now be used with **--numeric** ([#17](https://codeberg.org/a-j-wood/pv/issues/17))
|
||||
* *feature:* **--gauge** with **--progress** to show rate gauge when size is unknown ([#46](https://codeberg.org/a-j-wood/pv/issues/46))
|
||||
* *feature:* new **--store-and-forward** option to read input to a file first, then write it to the output ([#100](https://codeberg.org/ivarch/pv/issues/100))
|
||||
* *feature:* new **--stats** option to show transfer stats at the end, like "`ping`" ([#49](https://codeberg.org/ivarch/pv/issues/49))
|
||||
* *feature:* **--rate** can now be used with **--numeric** ([#17](https://codeberg.org/ivarch/pv/issues/17))
|
||||
* *feature:* **--gauge** with **--progress** to show rate gauge when size is unknown ([#46](https://codeberg.org/ivarch/pv/issues/46))
|
||||
* *i18n:* comprehensive German translations update
|
||||
* *i18n:* comprehensive Polish translations update
|
||||
* *i18n:* complete Turkish translations added
|
||||
* *i18n:* complete Czech translations added
|
||||
* *i18n:* updates to French translations
|
||||
* *fix:* resume stopped pipelines when running in the background (part of [#56](https://codeberg.org/a-j-wood/pv/issues/56))
|
||||
* *fix:* resume stopped pipelines when running in the background (part of [#56](https://codeberg.org/ivarch/pv/issues/56))
|
||||
* *fix:* inspect the output pipe buffer to give a more accurate progress indicator of how much the next command has consumed
|
||||
* *fix:* prefix completion time (**--fineta**) with *FIN* rather than *ETA* ([#43](https://codeberg.org/a-j-wood/pv/issues/43))
|
||||
* *fix:* prefix completion time (**--fineta**) with *FIN* rather than *ETA* ([#43](https://codeberg.org/ivarch/pv/issues/43))
|
||||
* *fix:* surround average rate (**--average-rate**) with brackets rather than square brackets
|
||||
* *fix:* correct a memory leak in **--watchfd PID**
|
||||
* *fix:* make **--direct-io** work correctly with **--output** instead of assuming stdout
|
||||
@@ -70,44 +83,44 @@
|
||||
|
||||
### 1.8.14 - 7 September 2024
|
||||
|
||||
* *fix:* correct double-free on exit when using **--watchfd** ([#96](https://codeberg.org/a-j-wood/pv/issues/96)) reported by [jettero](https://codeberg.org/jettero)
|
||||
* *fix:* correct double-free on exit when using **--watchfd** ([#96](https://codeberg.org/ivarch/pv/issues/96)) reported by [jettero](https://codeberg.org/jettero)
|
||||
|
||||
### 1.8.13 - 18 August 2024
|
||||
|
||||
* *feature:* when using **--size @FILE**, *FILE* can be a block device, and its size will be used (pull request [#94](https://codeberg.org/a-j-wood/pv/pulls/94)) supplied by [alexanderperlis](https://codeberg.org/alexanderperlis)
|
||||
* *feature:* when using **--size @FILE**, *FILE* can be a block device, and its size will be used (pull request [#94](https://codeberg.org/ivarch/pv/pulls/94)) supplied by [alexanderperlis](https://codeberg.org/alexanderperlis)
|
||||
|
||||
### 1.8.12 - 18 July 2024
|
||||
|
||||
* *fix:* correct the detection of output block device size that was broken in 1.8.10 ([#91](https://codeberg.org/a-j-wood/pv/issues/91))
|
||||
* *fix:* do not treat a zero/interrupted write as an end of file (pull requests [#92](https://codeberg.org/a-j-wood/pv/pulls/92) and [#93](https://codeberg.org/a-j-wood/pv/pulls/93))
|
||||
* *fix:* correct the detection of output block device size that was broken in 1.8.10 ([#91](https://codeberg.org/ivarch/pv/issues/91))
|
||||
* *fix:* do not treat a zero/interrupted write as an end of file (pull requests [#92](https://codeberg.org/ivarch/pv/pulls/92) and [#93](https://codeberg.org/ivarch/pv/pulls/93))
|
||||
|
||||
### 1.8.10 - 15 June 2024
|
||||
|
||||
* *feature:* new **--output** option to write to a file instead of standard output (pull request [#90](https://codeberg.org/a-j-wood/pv/pulls/90)) supplied by [xmort](https://codeberg.org/xmort)
|
||||
* *feature:* new **--output** option to write to a file instead of standard output (pull request [#90](https://codeberg.org/ivarch/pv/pulls/90)) supplied by [xmort](https://codeberg.org/xmort)
|
||||
|
||||
### 1.8.9 - 21 April 2024
|
||||
|
||||
* *feature:* new **--si** option to display and interpret size suffixes in multiples of 1000 rather than 1024 (pull request [#85](https://codeberg.org/a-j-wood/pv/pulls/85)) supplied by [kevinruddy](https://codeberg.org/kevinruddy)
|
||||
* *fix:* continue producing progress output when the output is blocking writes ([#34](https://codeberg.org/a-j-wood/pv/issues/34), [#86](https://codeberg.org/a-j-wood/pv/issues/86), [#87](https://codeberg.org/a-j-wood/pv/issues/87))
|
||||
* *fix:* honour the *TMPDIR* / *TMP* environment variables again, rather than hard-coding "`/tmp`", when using a terminal lock file (originally removed in 1.8.0) ([#88](https://codeberg.org/a-j-wood/pv/issues/88))
|
||||
* *i18n:* corrections and missing strings added to French translations (pull request [#83](https://codeberg.org/a-j-wood/pv/pulls/83)) supplied by [Thomas Bertels](https://codeberg.org/tbertels)
|
||||
* *feature:* new **--si** option to display and interpret size suffixes in multiples of 1000 rather than 1024 (pull request [#85](https://codeberg.org/ivarch/pv/pulls/85)) supplied by [kevinruddy](https://codeberg.org/kevinruddy)
|
||||
* *fix:* continue producing progress output when the output is blocking writes ([#34](https://codeberg.org/ivarch/pv/issues/34), [#86](https://codeberg.org/ivarch/pv/issues/86), [#87](https://codeberg.org/ivarch/pv/issues/87))
|
||||
* *fix:* honour the *TMPDIR* / *TMP* environment variables again, rather than hard-coding "`/tmp`", when using a terminal lock file (originally removed in 1.8.0) ([#88](https://codeberg.org/ivarch/pv/issues/88))
|
||||
* *i18n:* corrections and missing strings added to French translations (pull request [#83](https://codeberg.org/ivarch/pv/pulls/83)) supplied by [Thomas Bertels](https://codeberg.org/tbertels)
|
||||
|
||||
### 1.8.5 - 19 November 2023
|
||||
|
||||
* *fix:* corrected percentage formatting so it doesn't jump from 2 to 3 characters wide at 100% ([#80](https://codeberg.org/a-j-wood/pv/issues/80))
|
||||
* *fix:* corrected percentage formatting so it doesn't jump from 2 to 3 characters wide at 100% ([#80](https://codeberg.org/ivarch/pv/issues/80))
|
||||
* *fix:* replaced **--remote** mechanism, using a temporary file instead of SysV IPC, so it can work reliably even when there are multiple PV instances
|
||||
* *fix:* corrected compilation failure when without IPC support
|
||||
* *security:* addressed all issues highlighted by the software auditing tools "`splint`" and "`flawfinder`" (see "`make analyse`") ([#77](https://codeberg.org/a-j-wood/pv/issues/77))
|
||||
* *security:* addressed all issues highlighted by the software auditing tools "`splint`" and "`flawfinder`" (see "`make analyse`") ([#77](https://codeberg.org/ivarch/pv/issues/77))
|
||||
* *cleanup:* compilation warnings fixed on non-IPC and MacOS systems
|
||||
|
||||
### 1.8.0 - 24 September 2023
|
||||
|
||||
#### Features
|
||||
|
||||
* *feature:* new **--discard** option to discard input as if writing to */dev/null* ([#42](https://codeberg.org/a-j-wood/pv/issues/42))
|
||||
* *feature:* new **--error-skip-block** option to make **--skip-errors** skip whole blocks ([#37](https://codeberg.org/a-j-wood/pv/issues/37))
|
||||
* *feature:* use `posix_fadvise()` like `cat`(1) does, to improve efficiency ([#39](https://codeberg.org/a-j-wood/pv/issues/39))
|
||||
* *feature:* new **--enable-static** option to "`configure`" for static builds ([#75](https://codeberg.org/a-j-wood/pv/pull/75))
|
||||
* *feature:* new **--discard** option to discard input as if writing to */dev/null* ([#42](https://codeberg.org/ivarch/pv/issues/42))
|
||||
* *feature:* new **--error-skip-block** option to make **--skip-errors** skip whole blocks ([#37](https://codeberg.org/ivarch/pv/issues/37))
|
||||
* *feature:* use `posix_fadvise()` like `cat`(1) does, to improve efficiency ([#39](https://codeberg.org/ivarch/pv/issues/39))
|
||||
* *feature:* new **--enable-static** option to "`configure`" for static builds ([#75](https://codeberg.org/ivarch/pv/pull/75))
|
||||
|
||||
#### Security
|
||||
|
||||
@@ -119,10 +132,10 @@
|
||||
|
||||
* *fix:* only report errors about missing files when starting to transfer from them, not while calculating size, and behave more like `cat`(1) by skipping them and moving on
|
||||
* *fix:* auto-calculate total line count with **--line-mode** when all inputs are regular files
|
||||
* *fix:* use `clock_gettime()` in ETA calculation to cope with machine suspend/resume ([#13](https://codeberg.org/a-j-wood/pv/issues/13))
|
||||
* *fix:* if **--width** or **--height** were provided, do not change them when the window size changes ([#36](https://codeberg.org/a-j-wood/pv/issues/36))
|
||||
* *fix:* when a file descriptor position in **--watchfd** moves backwards, show the rate using the correct prefix ([#41](https://codeberg.org/a-j-wood/pv/issues/41))
|
||||
* *fix:* rewrite terminal state save/restore so state is not intermittently garbled on exit when using **--cursor** ([#20](https://codeberg.org/a-j-wood/pv/issues/20)), ([#24](https://codeberg.org/a-j-wood/pv/issues/24))
|
||||
* *fix:* use `clock_gettime()` in ETA calculation to cope with machine suspend/resume ([#13](https://codeberg.org/ivarch/pv/issues/13))
|
||||
* *fix:* if **--width** or **--height** were provided, do not change them when the window size changes ([#36](https://codeberg.org/ivarch/pv/issues/36))
|
||||
* *fix:* when a file descriptor position in **--watchfd** moves backwards, show the rate using the correct prefix ([#41](https://codeberg.org/ivarch/pv/issues/41))
|
||||
* *fix:* rewrite terminal state save/restore so state is not intermittently garbled on exit when using **--cursor** ([#20](https://codeberg.org/ivarch/pv/issues/20)), ([#24](https://codeberg.org/ivarch/pv/issues/24))
|
||||
|
||||
#### Cleanups
|
||||
|
||||
@@ -131,8 +144,8 @@
|
||||
* *cleanup:* replaced the test harness with the one native to GNU Automake
|
||||
* *cleanup:* added a test for terminal width detection to "`make check`"
|
||||
* *cleanup:* added a test to "`make check`" to ensure that "`make install`" installs everything expected
|
||||
* *cleanup:* replaced *AC_HEADER_TIOCGWINSZ* with *AC_CHECK_HEADERS(sys/ioctl.h)* for better MacOS compatibility ([#74](https://codeberg.org/a-j-wood/pv/issues/74))
|
||||
* *cleanup:* with **--sync**, call `fsync()` instead of `fdatasync()` on incapable systems ([#73](https://codeberg.org/a-j-wood/pv/issues/73))
|
||||
* *cleanup:* replaced *AC_HEADER_TIOCGWINSZ* with *AC_CHECK_HEADERS(sys/ioctl.h)* for better MacOS compatibility ([#74](https://codeberg.org/ivarch/pv/issues/74))
|
||||
* *cleanup:* with **--sync**, call `fsync()` instead of `fdatasync()` on incapable systems ([#73](https://codeberg.org/ivarch/pv/issues/73))
|
||||
* *cleanup:* the manual is now a static file instead of needing to be built with "`configure`"
|
||||
|
||||
#### Dropped items
|
||||
@@ -148,7 +161,7 @@
|
||||
|
||||
### 1.7.24 - 30 July 2023
|
||||
|
||||
* *fix:* correct terminal size detection, broken in 1.7.17 by the configuration script rewrite ([#72](https://codeberg.org/a-j-wood/pv/issues/72))
|
||||
* *fix:* correct terminal size detection, broken in 1.7.17 by the configuration script rewrite ([#72](https://codeberg.org/ivarch/pv/issues/72))
|
||||
* *security:* removed *DEBUG* environment variable in debug mode, added **--debug** instead
|
||||
* *cleanup:* added "`make analyse`" to run "`splint`" and "`flawfinder`" on all source files
|
||||
* *cleanup:* corrected detection of boolean capability
|
||||
@@ -161,8 +174,8 @@
|
||||
|
||||
### 1.7.17 - 27 July 2023
|
||||
|
||||
* *feature:* new **--sync** option to flush cache to disk after every write (related to [#6](https://codeberg.org/a-j-wood/pv/issues/6), to improve accuracy when writing to slow disks)
|
||||
* *feature:* new **--direct-io** option to bypass cache - implements [#29 "Option to enable O_DIRECT"](https://codeberg.org/a-j-wood/pv/issues/29) - requested by Romain Kang, Jacek Wielemborek
|
||||
* *feature:* new **--sync** option to flush cache to disk after every write (related to [#6](https://codeberg.org/ivarch/pv/issues/6), to improve accuracy when writing to slow disks)
|
||||
* *feature:* new **--direct-io** option to bypass cache - implements [#29 "Option to enable O_DIRECT"](https://codeberg.org/ivarch/pv/issues/29) - requested by Romain Kang, Jacek Wielemborek
|
||||
* *fix:* correct byte prefix size to 2 spaces in rate display, so progress display size remains constant at low transfer rates
|
||||
* *cleanup:* rewrote `configure.in` as per suggestions in newer "`autoconf`" manuals
|
||||
* *cleanup:* replaced `header.in` with one generated by "`autoheader`", moving custom logic to a separate header file "`config-aux.h`"
|
||||
@@ -182,18 +195,18 @@
|
||||
### 1.7.0 - 17 July 2023
|
||||
|
||||
* *dropped:* support for Red Hat Enterprise Linux and its derivatives has been dropped; removed the RPM spec file, and will no longer build binaries
|
||||
* *feature:* the **--size** option now accepts "`@filename`" to use the size of another file (pull request [#57](https://codeberg.org/a-j-wood/pv/pull/57) supplied by [Dave Beckett](https://github.com/dajobe))
|
||||
* *feature:* the **--watchfd** option is now available on OS X (pull request [#60](https://codeberg.org/a-j-wood/pv/pull/60) supplied by [christoph-zededa](https://github.com/christoph-zededa))
|
||||
* *feature:* new **--bits** option to show bit count instead of byte count (adapted from pull request [#63](https://codeberg.org/a-j-wood/pv/pull/63) supplied by [Nick Black](https://nick-black.com))
|
||||
* *feature:* new **--average-rate-window** option, to set the window over which the average rate is calculated, also used for ETA (modified from pull request [#65](https://codeberg.org/a-j-wood/pv/pull/65) supplied by [lemonsqueeze](https://github.com/lemonsqueeze))
|
||||
* *feature:* the **--watchfd** option will now show relative filenames, if they are under the current directory (pull request [#66](https://codeberg.org/a-j-wood/pv/pull/66) supplied by [ikasty](https://github.com/ikasty))
|
||||
* *fix:* correction to `pv_in_foreground()` to behave as its comment block says it should, when not on a terminal - corrects [#19 "No output in Arch Linux initcpio after 1.6.6"](https://codeberg.org/a-j-wood/pv/issues/19), [#31 "No output written from inside zsh <() construct"](https://codeberg.org/a-j-wood/pv/issues/31), [#55 "pv Stopped Working in the Background"](https://codeberg.org/a-j-wood/pv/issues/55) (pull request [#64](https://codeberg.org/a-j-wood/pv/pull/64) supplied by [Michael Weiß](https://github.com/quitschbo))
|
||||
* *fix:* workaround for OS X 11 behaviour in configure script regarding stat64 at compile time (pull request [#57](https://codeberg.org/a-j-wood/pv/pull/57) supplied by [Dave Beckett](https://github.com/dajobe))
|
||||
* *fix:* workaround for macOS equivalence of stat to stat64 - patches from [Filippo Valsorda](https://github.com/FiloSottile) and [Demitri Muna](https://github.com/demitri), correcting [#33 "Fix compilation problems due to `stat64()` on Apple Silicon"](https://codeberg.org/a-j-wood/pv/issues/33)
|
||||
* *fix:* add burst rate limit to transfer, so rate limits are not broken by bursty traffic (pull request [#62](https://codeberg.org/a-j-wood/pv/pull/62) supplied by [Volodymyr Bychkovyak](https://github.com/vbychkoviak))
|
||||
* *fix:* corrected **--force** option so it will still output progress when not in the same process group as the owner of the terminal - corrects [#23 "No output with "-f" when run in background after 1.6.6"](https://codeberg.org/a-j-wood/pv/issues/23) and helps to correct [#31 "No output written from inside zsh <() construct"](https://codeberg.org/a-j-wood/pv/issues/31)
|
||||
* *fix:* corrected elapsed time display to show as D:HH:MM:SS after 1 day, like the ETA does - corrects [#16 "Show days in same format in ETA as in elapsed time"](https://codeberg.org/a-j-wood/pv/issues/16)
|
||||
* *fix:* corrected bug where percentages went down after 100% when in **--numeric** mode with a **--size** that was too small - corrects [#26 "Correct "-n" behaviour when going past 100% of "-s" size"](https://codeberg.org/a-j-wood/pv/issues/26)
|
||||
* *feature:* the **--size** option now accepts "`@filename`" to use the size of another file (pull request [#57](https://codeberg.org/ivarch/pv/pull/57) supplied by [Dave Beckett](https://github.com/dajobe))
|
||||
* *feature:* the **--watchfd** option is now available on OS X (pull request [#60](https://codeberg.org/ivarch/pv/pull/60) supplied by [christoph-zededa](https://github.com/christoph-zededa))
|
||||
* *feature:* new **--bits** option to show bit count instead of byte count (adapted from pull request [#63](https://codeberg.org/ivarch/pv/pull/63) supplied by [Nick Black](https://nick-black.com))
|
||||
* *feature:* new **--average-rate-window** option, to set the window over which the average rate is calculated, also used for ETA (modified from pull request [#65](https://codeberg.org/ivarch/pv/pull/65) supplied by [lemonsqueeze](https://github.com/lemonsqueeze))
|
||||
* *feature:* the **--watchfd** option will now show relative filenames, if they are under the current directory (pull request [#66](https://codeberg.org/ivarch/pv/pull/66) supplied by [ikasty](https://github.com/ikasty))
|
||||
* *fix:* correction to `pv_in_foreground()` to behave as its comment block says it should, when not on a terminal - corrects [#19 "No output in Arch Linux initcpio after 1.6.6"](https://codeberg.org/ivarch/pv/issues/19), [#31 "No output written from inside zsh <() construct"](https://codeberg.org/ivarch/pv/issues/31), [#55 "pv Stopped Working in the Background"](https://codeberg.org/ivarch/pv/issues/55) (pull request [#64](https://codeberg.org/ivarch/pv/pull/64) supplied by [Michael Weiß](https://github.com/quitschbo))
|
||||
* *fix:* workaround for OS X 11 behaviour in configure script regarding stat64 at compile time (pull request [#57](https://codeberg.org/ivarch/pv/pull/57) supplied by [Dave Beckett](https://github.com/dajobe))
|
||||
* *fix:* workaround for macOS equivalence of stat to stat64 - patches from [Filippo Valsorda](https://github.com/FiloSottile) and [Demitri Muna](https://github.com/demitri), correcting [#33 "Fix compilation problems due to `stat64()` on Apple Silicon"](https://codeberg.org/ivarch/pv/issues/33)
|
||||
* *fix:* add burst rate limit to transfer, so rate limits are not broken by bursty traffic (pull request [#62](https://codeberg.org/ivarch/pv/pull/62) supplied by [Volodymyr Bychkovyak](https://github.com/vbychkoviak))
|
||||
* *fix:* corrected **--force** option so it will still output progress when not in the same process group as the owner of the terminal - corrects [#23 "No output with "-f" when run in background after 1.6.6"](https://codeberg.org/ivarch/pv/issues/23) and helps to correct [#31 "No output written from inside zsh <() construct"](https://codeberg.org/ivarch/pv/issues/31)
|
||||
* *fix:* corrected elapsed time display to show as D:HH:MM:SS after 1 day, like the ETA does - corrects [#16 "Show days in same format in ETA as in elapsed time"](https://codeberg.org/ivarch/pv/issues/16)
|
||||
* *fix:* corrected bug where percentages went down after 100% when in **--numeric** mode with a **--size** that was too small - corrects [#26 "Correct "-n" behaviour when going past 100% of "-s" size"](https://codeberg.org/ivarch/pv/issues/26)
|
||||
* *i18n:* recoded Polish translation file to UTF-8
|
||||
* *i18n:* removed inaccurate fuzzy translation matches
|
||||
* *docs:* moved all open issues into GitHub and updated the TODO list
|
||||
|
||||
@@ -30,8 +30,8 @@ pv (Pipe Viewer) can be inserted into any normal pipeline between two
|
||||
processes to give a visual indication of how quickly data is passing
|
||||
through, how long it has taken, how near to completion it is, and an
|
||||
estimate of how long it will be until completion."
|
||||
packageUrl="https://www.ivarch.com/programs/pv.shtml"
|
||||
sourceUrl="https://www.ivarch.com/programs/sources/${packageName}-%{version}.tar.gz"
|
||||
packageUrl="https://ivarch.com/p/pv"
|
||||
sourceUrl="https://ivarch.com/programs/sources/${packageName}-%{version}.tar.gz"
|
||||
packageEmail="Andrew Wood <pv@ivarch.com>"
|
||||
|
||||
workDir="$(mktemp -d)" || exit 1
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.TH PV 1 2025-01-12 pv-1.9.27 "User Commands"
|
||||
.TH PV 1 2025-07-26 pv-1.9.34 "User Commands"
|
||||
.\"
|
||||
.SH NAME
|
||||
pv \- monitor the progress of data through a pipe
|
||||
@@ -97,8 +97,7 @@ percentage, one per line, on standard error, suitable for passing to a tool
|
||||
such as \fBdialog\fR(1).
|
||||
Note that \*(lq\fB\-\-force\fR\*(rq is not required if
|
||||
\*(lq\fB\-\-numeric\fR\*(rq is being used.
|
||||
.TP
|
||||
.B ""
|
||||
.IP
|
||||
Combining \*(lq\fB\-\-numeric\fR\*(rq with \*(lq\fB\-\-bytes\fR\*(rq will
|
||||
cause the number of bytes processed so far to be output instead of a
|
||||
percentage.
|
||||
@@ -109,6 +108,13 @@ Adding \*(lq\fB\-\-rate\fR\*(rq adds the transfer rate to each output line
|
||||
byte/line count).
|
||||
Adding \*(lq\fB\-\-timer\fR\*(rq prefixes each output line with the elapsed
|
||||
time so far, as a decimal number of seconds.
|
||||
.IP
|
||||
Combining \*(lq\fB\-\-numeric\fR\*(rq with \*(lq\fB\-\-format\fR\*(rq allows
|
||||
for custom output. The default format string components for
|
||||
\*(lq\fB\-\-numeric\fR\*(rq are
|
||||
\*(lq\fB%t\~%b\~%r\~%{progress\-amount\-only}\fR\*(rq in that order, each
|
||||
item being active or inactive according to the rules above (so the default
|
||||
with no other options is \*(lq\fB%{progress\-amount\-only}\fR\*(rq.
|
||||
.TP
|
||||
.B \-q, \-\-quiet
|
||||
No output.
|
||||
@@ -147,13 +153,10 @@ A suffix of \*(lqK\*(rq, \*(lqM\*(rq, \*(lqG\*(rq, or \*(lqT\*(rq can be
|
||||
added to denote kibibytes (*1024), mebibytes, gibibytes, tebibytes.
|
||||
If \*(lq\fB\-\-si\fR\*(rq appears before this option, suffixes will denote
|
||||
kilobytes (*1000), megabytes, and so on instead.
|
||||
.TP
|
||||
.B ""
|
||||
.IP
|
||||
If \fISIZE\fR starts with \*(lq\fB@\fR\*(rq, the size of file whose name
|
||||
follows the @ will be used.
|
||||
.TP
|
||||
.B ""
|
||||
.TP
|
||||
.B \-g, \-\-gauge
|
||||
If the progress bar is shown but the size is not known, then instead of
|
||||
moving the bar left and right to show progress, show the current transfer
|
||||
@@ -163,8 +166,7 @@ rate as a percentage of the maximum rate seen so far.
|
||||
Instead of counting bytes, count lines (newline characters).
|
||||
The progress bar will only move when a new line is found, and the value
|
||||
passed to \*(lq\fB\-\-size\fR\*(rq will be interpreted as a line count.
|
||||
.TP
|
||||
.B ""
|
||||
.IP
|
||||
If this option is used without \*(lq\fB\-\-size\fR\*(rq, the "total size"
|
||||
(in this case, total line count) is calculated by reading through all input
|
||||
files once before transfer starts.
|
||||
@@ -282,8 +284,7 @@ The corresponding parts of the output will be null bytes.
|
||||
At first only a few bytes will be skipped, but if there are many errors in a
|
||||
row then the skips will move up to chunks of 512.
|
||||
This is intended to be similar to \*(lq\fIdd\~conv=sync,noerror\fR\*(rq.
|
||||
.TP
|
||||
.B ""
|
||||
.IP
|
||||
Specify \*(lq\fB\-\-skip\-errors\fR\*(rq twice to only report a read error
|
||||
once per file, instead of reporting each byte range skipped.
|
||||
.TP
|
||||
@@ -295,8 +296,7 @@ block of \fIBYTES\fR bytes as soon as an error occurs.
|
||||
There may still be some shorter skips where the block being skipped
|
||||
coincides with the end of the transfer buffer.
|
||||
The same suffixes as \*(lq\fB\-\-size\fR\*(rq can be used.
|
||||
.TP
|
||||
.B ""
|
||||
.IP
|
||||
This option can only be used with \*(lq\fB\-\-skip\-errors\fR\*(rq
|
||||
and is intended for use when reading from a block device, such as
|
||||
\*(lq\fB\-\-skip\-errors\~\-\-error\-skip\-block\~4K\fR\*(rq
|
||||
@@ -337,8 +337,7 @@ exhausted, read all of \fIFILE\fR and write it to the output.
|
||||
\fIFILE\fR remains in place afterwards, unless it is
|
||||
\*(lq\fB-\fR\*(rq, in which case \fBpv\fR creates a temporary file for this
|
||||
purpose, and automatically removes it afterwards.
|
||||
.TP
|
||||
.B ""
|
||||
.IP
|
||||
This can be useful if you have a pipeline which generates data (your
|
||||
input) quickly but you don't know the size, and you wish to pass it to some
|
||||
slower process, once all of the input has been generated and you know its
|
||||
@@ -356,8 +355,7 @@ Instead of transferring data, watch file descriptor \fIFD\fR of process
|
||||
The \fBpv\fR process will exit when \fIFD\fR either changes to a different
|
||||
file, changes read/write mode, or is closed; other data transfer modifiers -
|
||||
and remote control - may not be used with this option.
|
||||
.TP
|
||||
.B ""
|
||||
.IP
|
||||
If only a \fIPID\fR is specified, then that process will be watched, and all
|
||||
regular files and block devices it opens will be shown with a progress bar.
|
||||
The \fBpv\fR process will exit when process \fIPID\fR exits.
|
||||
@@ -489,8 +487,7 @@ Emit ECMA-48 SGR (Select Graphic Rendition) codes if the terminal supports
|
||||
colours, where \fIcolour,...\fR is a comma-separated list of any of the
|
||||
keywords below, or the numeric values from \fBconsole_codes\fR(4). If
|
||||
colour support is not available, nothing is emitted.
|
||||
.TP
|
||||
.B ""
|
||||
.IP
|
||||
Supported keywords are:
|
||||
\fBreset\fR or \fBnone\fR,
|
||||
\fBblack\fR,
|
||||
@@ -530,12 +527,10 @@ Supported keywords are:
|
||||
\fBno\-underscore\fR or \fBno\-underline\fR,
|
||||
\fBno\-blink\fR,
|
||||
\fBno\-reverse\fR.
|
||||
.TP
|
||||
.B ""
|
||||
.IP
|
||||
With colours, the optional "fg-" prefix indicates foreground; a prefix of
|
||||
"bg-" indicates background.
|
||||
.TP
|
||||
.B ""
|
||||
.IP
|
||||
For example, \*(lq\fB%{sgr:green,bold}TEXT%{sgr:reset}\fR\*(lq will make
|
||||
\fITEXT\fR bold green on supported terminals.
|
||||
.TP
|
||||
@@ -666,6 +661,14 @@ the progress display:
|
||||
pv \-\-format '%a %p : %L' big.log | processing-script
|
||||
.EE
|
||||
.in
|
||||
.PP
|
||||
Showing progress as lines of JSON data:
|
||||
.PP
|
||||
.in +4
|
||||
.EX
|
||||
pv \-\-numeric \-\-format '{"elapsed":%t,"bytes":%b,"rate":%r,"percentage":%{progress-amount-only}}' big.log | processing-script
|
||||
.EE
|
||||
.in
|
||||
.\"
|
||||
.SH EXIT STATUS
|
||||
An exit status of 1 indicates a problem with the \*(lq\fB\-\-remote\fR\*(rq
|
||||
@@ -740,7 +743,7 @@ pv InputFile | ( while read \-r line; do sleep 0.1; done; )
|
||||
.in
|
||||
.PP
|
||||
Refer to
|
||||
.UR https://codeberg.org/a-j-wood/pv/issues/105
|
||||
.UR https://codeberg.org/ivarch/pv/issues/105
|
||||
issue #105
|
||||
.UE
|
||||
for full details.
|
||||
@@ -779,10 +782,8 @@ Numbers passed to \*(lq\fB\-\-last\-written\fR\*(rq,
|
||||
must be integers with no suffix.
|
||||
.\"
|
||||
.SH REPORTING BUGS
|
||||
Please report any bugs to \fBpv@ivarch.com\fR.
|
||||
.PP
|
||||
Alternatively, use the issue tracker linked from the
|
||||
.UR https://www.ivarch.com/programs/pv.shtml
|
||||
Please report bugs or feature requests via the issue tracker linked from the
|
||||
.UR https://ivarch.com/p/pv
|
||||
\fBpv\fR home page
|
||||
.UE .
|
||||
.\"
|
||||
|
||||
+23
-17
@@ -100,7 +100,7 @@ are explicitly switched on will be shown.
|
||||
suitable for passing to a tool such as **dialog**(1). Note that
|
||||
"**\--force**" is not required if "**\--numeric**" is being used.
|
||||
|
||||
: Combining "**\--numeric**" with "**\--bytes**" will cause the number
|
||||
Combining "**\--numeric**" with "**\--bytes**" will cause the number
|
||||
of bytes processed so far to be output instead of a percentage.
|
||||
Adding "**\--line-mode**" as well as "**\--bytes**" writes the
|
||||
number of lines instead of bytes or a percentage. Adding
|
||||
@@ -109,6 +109,12 @@ are explicitly switched on will be shown.
|
||||
count). Adding "**\--timer**" prefixes each output line with the
|
||||
elapsed time so far, as a decimal number of seconds.
|
||||
|
||||
Combining "**\--numeric**" with "**\--format**" allows for custom
|
||||
output. The default format string components for "**\--numeric**"
|
||||
are "**%t %b %r %{progress-amount-only}**" in that order, each item
|
||||
being active or inactive according to the rules above (so the
|
||||
default with no other options is "**%{progress-amount-only}**".
|
||||
|
||||
**-q, \--quiet**
|
||||
|
||||
: No output. Useful if the "**\--rate-limit**" option is being used on
|
||||
@@ -150,11 +156,9 @@ are explicitly switched on will be shown.
|
||||
tebibytes. If "**\--si**" appears before this option, suffixes will
|
||||
denote kilobytes (\*1000), megabytes, and so on instead.
|
||||
|
||||
: If *SIZE* starts with "**@**", the size of file whose name follows
|
||||
If *SIZE* starts with "**@**", the size of file whose name follows
|
||||
the @ will be used.
|
||||
|
||||
:
|
||||
|
||||
**-g, \--gauge**
|
||||
|
||||
: If the progress bar is shown but the size is not known, then instead
|
||||
@@ -167,7 +171,7 @@ are explicitly switched on will be shown.
|
||||
progress bar will only move when a new line is found, and the value
|
||||
passed to "**\--size**" will be interpreted as a line count.
|
||||
|
||||
: If this option is used without "**\--size**", the \"total size\" (in
|
||||
If this option is used without "**\--size**", the \"total size\" (in
|
||||
this case, total line count) is calculated by reading through all
|
||||
input files once before transfer starts. If any inputs are pipes or
|
||||
non-regular files, or are unreadable, the total size will not be
|
||||
@@ -290,7 +294,7 @@ are explicitly switched on will be shown.
|
||||
errors in a row then the skips will move up to chunks of 512. This
|
||||
is intended to be similar to "*dd conv=sync,noerror*".
|
||||
|
||||
: Specify "**\--skip-errors**" twice to only report a read error once
|
||||
Specify "**\--skip-errors**" twice to only report a read error once
|
||||
per file, instead of reporting each byte range skipped.
|
||||
|
||||
**-Z BYTES, \--error-skip-block BYTES**
|
||||
@@ -303,7 +307,7 @@ are explicitly switched on will be shown.
|
||||
coincides with the end of the transfer buffer. The same suffixes as
|
||||
"**\--size**" can be used.
|
||||
|
||||
: This option can only be used with "**\--skip-errors**" and is
|
||||
This option can only be used with "**\--skip-errors**" and is
|
||||
intended for use when reading from a block device, such as
|
||||
"**\--skip-errors \--error-skip-block 4K**" to skip in 4 kibibyte
|
||||
blocks. This will speed up reads from faulty media, at the expense
|
||||
@@ -347,7 +351,7 @@ are explicitly switched on will be shown.
|
||||
**pv** creates a temporary file for this purpose, and automatically
|
||||
removes it afterwards.
|
||||
|
||||
: This can be useful if you have a pipeline which generates data (your
|
||||
This can be useful if you have a pipeline which generates data (your
|
||||
input) quickly but you don\'t know the size, and you wish to pass it
|
||||
to some slower process, once all of the input has been generated and
|
||||
you know its size, so you can see its progress. Note that when doing
|
||||
@@ -365,7 +369,7 @@ are explicitly switched on will be shown.
|
||||
closed; other data transfer modifiers - and remote control - may not
|
||||
be used with this option.
|
||||
|
||||
: If only a *PID* is specified, then that process will be watched, and
|
||||
If only a *PID* is specified, then that process will be watched, and
|
||||
all regular files and block devices it opens will be shown with a
|
||||
progress bar. The **pv** process will exit when process *PID* exits.
|
||||
|
||||
@@ -515,7 +519,7 @@ contain the following sequences:
|
||||
**console_codes**(4). If colour support is not available, nothing is
|
||||
emitted.
|
||||
|
||||
: Supported keywords are: **reset** or **none**, **black**, **red**,
|
||||
Supported keywords are: **reset** or **none**, **black**, **red**,
|
||||
**green**, **brown** or **yellow**, **blue**, **magenta**, **cyan**,
|
||||
**white**, **fg-black**, **fg-red**, **fg-green**, **fg-brown** or
|
||||
**fg-yellow**, **fg-blue**, **fg-magenta**, **fg-cyan**,
|
||||
@@ -526,10 +530,10 @@ contain the following sequences:
|
||||
**reverse**, **no-bold** or **no-dim**, **no-italic**,
|
||||
**no-underscore** or **no-underline**, **no-blink**, **no-reverse**.
|
||||
|
||||
: With colours, the optional \"fg-\" prefix indicates foreground; a
|
||||
With colours, the optional \"fg-\" prefix indicates foreground; a
|
||||
prefix of \"bg-\" indicates background.
|
||||
|
||||
: For example, "**%{sgr:green,bold}TEXT%{sgr:reset}**" will make
|
||||
For example, "**%{sgr:green,bold}TEXT%{sgr:reset}**" will make
|
||||
*TEXT* bold green on supported terminals.
|
||||
|
||||
**%%**
|
||||
@@ -629,6 +633,10 @@ part of the progress display:
|
||||
|
||||
pv --format '%a %p : %L' big.log | processing-script
|
||||
|
||||
Showing progress as lines of JSON data:
|
||||
|
||||
pv --numeric --format '{"elapsed":%t,"bytes":%b,"rate":%r,"percentage":%{progress-amount-only}}' big.log | processing-script
|
||||
|
||||
# EXIT STATUS
|
||||
|
||||
An exit status of 1 indicates a problem with the "**\--remote**" or
|
||||
@@ -701,7 +709,7 @@ brackets to force the use of a subshell:
|
||||
|
||||
pv InputFile | ( while read -r line; do sleep 0.1; done; )
|
||||
|
||||
Refer to [issue #105](https://codeberg.org/a-j-wood/pv/issues/105) for
|
||||
Refer to [issue #105](https://codeberg.org/ivarch/pv/issues/105) for
|
||||
full details.
|
||||
|
||||
The "**\--remote**" option requires that either */run/user/\<uid\>/* or
|
||||
@@ -734,10 +742,8 @@ be integers with no suffix.
|
||||
|
||||
# REPORTING BUGS
|
||||
|
||||
Please report any bugs to **pv@ivarch.com**.
|
||||
|
||||
Alternatively, use the issue tracker linked from the [**pv** home
|
||||
page](https://www.ivarch.com/programs/pv.shtml).
|
||||
Please report bugs or feature requests via the issue tracker linked from
|
||||
the [**pv** home page](https://ivarch.com/p/pv).
|
||||
|
||||
# SEE ALSO
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
# (without timestamps), "framework-output.log" (messages from this script),
|
||||
# and the "config.log", "test-suite.log", and "tests/" from the build area.
|
||||
#
|
||||
# Requires "scw" (https://www.ivarch.com/programs/scw.shtml).
|
||||
# Requires "scw" (https://ivarch.com/p/scw).
|
||||
#
|
||||
# Copyright 2024-2025 Andrew Wood
|
||||
# License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Report-Msgid-Bugs-To: pv@ivarch.com\n"
|
||||
"POT-Creation-Date: 2025-01-11 20:59+0000\n"
|
||||
"Report-Msgid-Bugs-To: https://codeberg.org/ivarch/pv/issues\n"
|
||||
"POT-Creation-Date: 2025-07-26 14:50+0100\n"
|
||||
"PO-Revision-Date: 2024-10-13 20:43+0000\n"
|
||||
"Last-Translator: mmatous <mmatous@users.noreply.translate.codeberg.org>\n"
|
||||
"Language-Team: Czech <https://translate.codeberg.org/projects/pv/pv/cs/>\n"
|
||||
@@ -285,69 +285,69 @@ msgstr "(vstup)"
|
||||
msgid "state allocation failed"
|
||||
msgstr "selhala alokace stavu"
|
||||
|
||||
#: src/main/options.c:144 src/pv/file.c:324
|
||||
#: src/main/options.c:146 src/pv/file.c:324
|
||||
msgid "failed to stat file"
|
||||
msgstr "nebylo možné zjistit informace o souboru"
|
||||
|
||||
#: src/main/options.c:158
|
||||
#: src/main/options.c:160
|
||||
msgid "is a directory"
|
||||
msgstr "je adresář"
|
||||
|
||||
#: src/main/options.c:187
|
||||
#: src/main/options.c:189
|
||||
msgid "failed to generate sysfs filename"
|
||||
msgstr "selhalo vytváření jména pro soubor v sysfs"
|
||||
|
||||
#: src/main/options.c:209
|
||||
#: src/main/options.c:211
|
||||
msgid "failed to read sysfs size file"
|
||||
msgstr "selhalo čtení velikosti souboru v sysfs"
|
||||
|
||||
#: src/main/options.c:229
|
||||
#: src/main/options.c:231
|
||||
msgid "failed to open block device"
|
||||
msgstr "selhalo otevření blokového zařízení"
|
||||
|
||||
#: src/main/options.c:239
|
||||
#: src/main/options.c:241
|
||||
msgid "failed to determine size of block device"
|
||||
msgstr "selhalo zjištění velikosti blokového zařízení"
|
||||
|
||||
#: src/main/options.c:345
|
||||
#: src/main/options.c:347
|
||||
msgid "option structure allocation failed"
|
||||
msgstr "selhala alokace struktury pro volby"
|
||||
|
||||
#: src/main/options.c:364
|
||||
#: src/main/options.c:366
|
||||
msgid "option structure argv allocation failed"
|
||||
msgstr "selhala alokace struktury pro argv"
|
||||
|
||||
#: src/main/options.c:417
|
||||
#: src/main/options.c:419
|
||||
msgid "numeric value not understood"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:435
|
||||
#: src/main/options.c:437
|
||||
msgid "integer argument expected"
|
||||
msgstr "očekáván celočíselný argument"
|
||||
|
||||
#: src/main/options.c:447
|
||||
#: src/main/options.c:449
|
||||
msgid "numeric argument expected"
|
||||
msgstr "očekáván číselný argument"
|
||||
|
||||
#: src/main/options.c:458
|
||||
#: src/main/options.c:460
|
||||
msgid "process ID or pid:fd pair expected"
|
||||
msgstr "očekáváno ID procesu nebo dvojice PID:DS"
|
||||
|
||||
#: src/main/options.c:465
|
||||
#: src/main/options.c:467
|
||||
msgid "invalid process ID"
|
||||
msgstr "neplatné ID procesu"
|
||||
|
||||
#: src/main/options.c:698
|
||||
#: src/main/options.c:700
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information."
|
||||
msgstr "Zkuste `%s --help' pro více informací."
|
||||
|
||||
#: src/main/options.c:700
|
||||
#: src/main/options.c:702
|
||||
#, c-format
|
||||
msgid "Try `%s -h' for more information."
|
||||
msgstr "Zkuste `%s --h' pro více informací."
|
||||
|
||||
#: src/main/options.c:731
|
||||
#: src/main/options.c:733
|
||||
msgid ""
|
||||
"cannot use line mode or transfer modifier options when watching file "
|
||||
"descriptors"
|
||||
@@ -355,19 +355,19 @@ msgstr ""
|
||||
"při sledování deskriptorů souborů nelze použít řádkový mód nebo volby pro "
|
||||
"modifikaci přenosu"
|
||||
|
||||
#: src/main/options.c:740
|
||||
#: src/main/options.c:742
|
||||
msgid "cannot use cursor positioning when watching file descriptors"
|
||||
msgstr "při sledování deskriptorů souborů nelze pozicování kurzoru použít"
|
||||
|
||||
#: src/main/options.c:749
|
||||
#: src/main/options.c:751
|
||||
msgid "cannot use remote control when watching file descriptors"
|
||||
msgstr "při sledování deskriptorů souborů nelze použít vzdálené ovládání"
|
||||
|
||||
#: src/main/options.c:758
|
||||
#: src/main/options.c:760
|
||||
msgid "cannot transfer files when watching file descriptors"
|
||||
msgstr "při sledování deskriptorů souborů nelze použít přenos souborů"
|
||||
|
||||
#: src/main/options.c:773
|
||||
#: src/main/options.c:775
|
||||
msgid "not available on systems without /proc/self/fdinfo"
|
||||
msgstr "není dostupné na systémech bez /proc/self/fdinfo"
|
||||
|
||||
@@ -419,7 +419,7 @@ msgstr "yzafpnum kMGTPEZY"
|
||||
msgid "yzafpnum KMGTPEZY"
|
||||
msgstr "yzafpnum KMGTPEZY"
|
||||
|
||||
#: src/pv/display.c:1067 src/pv/transfer.c:1056
|
||||
#: src/pv/display.c:989 src/pv/transfer.c:1057
|
||||
msgid "buffer allocation failed"
|
||||
msgstr "selhala alokace vyrovnávací paměti"
|
||||
|
||||
@@ -451,26 +451,26 @@ msgstr "(žádný)"
|
||||
msgid "(stdin)"
|
||||
msgstr "(stdin)"
|
||||
|
||||
#: src/pv/format/averagerate.c:30 src/pv/format/progressbar.c:93
|
||||
#: src/pv/format/rate.c:32 src/pv/loop.c:551
|
||||
#: src/pv/format/averagerate.c:34 src/pv/format/progressbar.c:93
|
||||
#: src/pv/format/rate.c:37 src/pv/loop.c:562
|
||||
msgid "b/s"
|
||||
msgstr "b/s"
|
||||
|
||||
#: src/pv/format/averagerate.c:34 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:36
|
||||
#: src/pv/format/averagerate.c:38 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:41
|
||||
msgid "/s"
|
||||
msgstr "/s"
|
||||
|
||||
#: src/pv/format/averagerate.c:34 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:36 src/pv/loop.c:551
|
||||
#: src/pv/format/averagerate.c:38 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:41 src/pv/loop.c:562
|
||||
msgid "B/s"
|
||||
msgstr "B/s"
|
||||
|
||||
#: src/pv/format/bytes.c:31
|
||||
#: src/pv/format/bytes.c:37
|
||||
msgid "b"
|
||||
msgstr "b"
|
||||
|
||||
#: src/pv/format/bytes.c:35 src/pv/transfer.c:594
|
||||
#: src/pv/format/bytes.c:41 src/pv/transfer.c:594
|
||||
msgid "B"
|
||||
msgstr "B"
|
||||
|
||||
@@ -482,15 +482,15 @@ msgstr "ETA"
|
||||
msgid "FIN"
|
||||
msgstr "FIN"
|
||||
|
||||
#: src/pv/loop.c:550
|
||||
#: src/pv/loop.c:561
|
||||
msgid "rate min/avg/max/mdev"
|
||||
msgstr "rychlost min/avg/max/std"
|
||||
|
||||
#: src/pv/loop.c:562
|
||||
#: src/pv/loop.c:573
|
||||
msgid "rate not measured"
|
||||
msgstr "rychlost neměřena"
|
||||
|
||||
#: src/pv/loop.c:772 src/pv/loop.c:823 src/pv/loop.c:876 src/pv/watchpid.c:99
|
||||
#: src/pv/loop.c:783 src/pv/loop.c:834 src/pv/loop.c:887 src/pv/watchpid.c:99
|
||||
#: src/pv/watchpid.c:109 src/pv/watchpid.c:120 src/pv/watchpid.c:128
|
||||
#: src/pv/watchpid.c:165 src/pv/watchpid.c:184 src/pv/watchpid.c:192
|
||||
#: src/pv/watchpid.c:202 src/pv/watchpid.c:300 src/pv/watchpid.c:308
|
||||
@@ -502,7 +502,7 @@ msgstr "pid"
|
||||
msgid "history structure allocation failed"
|
||||
msgstr "selhala alokace struktury historie"
|
||||
|
||||
#: src/pv/state.c:593 src/pv/state.c:604
|
||||
#: src/pv/state.c:617 src/pv/state.c:628
|
||||
msgid "file list allocation failed"
|
||||
msgstr "selhala alokace seznamu souborů"
|
||||
|
||||
@@ -542,11 +542,11 @@ msgstr "selhalo vynulování intervalového časovače"
|
||||
msgid "line position buffer allocation failed"
|
||||
msgstr "selhala alokace vyrovnávací paměti pro pozici v řádcích"
|
||||
|
||||
#: src/pv/transfer.c:917
|
||||
#: src/pv/transfer.c:918
|
||||
msgid "write failed"
|
||||
msgstr "zápis selhal"
|
||||
|
||||
#: src/pv/transfer.c:1154
|
||||
#: src/pv/transfer.c:1159
|
||||
msgid "select call failed"
|
||||
msgstr "selhalo volání select"
|
||||
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Report-Msgid-Bugs-To: pv@ivarch.com\n"
|
||||
"POT-Creation-Date: 2025-01-11 20:59+0000\n"
|
||||
"PO-Revision-Date: 2024-10-13 20:43+0000\n"
|
||||
"Last-Translator: fnetX <otto@codeberg.org>\n"
|
||||
"Report-Msgid-Bugs-To: https://codeberg.org/ivarch/pv/issues\n"
|
||||
"POT-Creation-Date: 2025-07-26 14:50+0100\n"
|
||||
"PO-Revision-Date: 2025-01-14 20:39+0000\n"
|
||||
"Last-Translator: Benny <benny@users.noreply.translate.codeberg.org>\n"
|
||||
"Language-Team: German <https://translate.codeberg.org/projects/pv/pv/de/>\n"
|
||||
"Language: de\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.7.2\n"
|
||||
"X-Generator: Weblate 5.9.2\n"
|
||||
"Date: 1999-06-01 15:18:29+0100\n"
|
||||
"From: Andrew Wood <ivarch@ubik>\n"
|
||||
"Xgettext-Options: --default-domain=pkgbuild --directory=./.pkgdir --add-"
|
||||
@@ -158,19 +158,19 @@ msgstr "setze den NAMEn für visuelle Darstellung"
|
||||
|
||||
#: src/main/help.c:311
|
||||
msgid "STYLE"
|
||||
msgstr ""
|
||||
msgstr "Stil"
|
||||
|
||||
#: src/main/help.c:312
|
||||
msgid "set default bar style to NAME"
|
||||
msgstr ""
|
||||
msgstr "setze die voreingestellte Darstellung auf NAME"
|
||||
|
||||
#: src/main/help.c:314
|
||||
msgid "SPEC"
|
||||
msgstr ""
|
||||
msgstr "STIL"
|
||||
|
||||
#: src/main/help.c:315
|
||||
msgid "also send progress to SPEC"
|
||||
msgstr ""
|
||||
msgstr "Fortschritt auch an SPEC senden"
|
||||
|
||||
#: src/main/help.c:318
|
||||
msgid "output transfer statistics at the end"
|
||||
@@ -288,7 +288,7 @@ msgstr ""
|
||||
|
||||
#: src/main/help.c:555
|
||||
msgid "Supported format sequences:"
|
||||
msgstr ""
|
||||
msgstr "unterstützte Formate:"
|
||||
|
||||
#: src/main/help.c:569
|
||||
#, c-format
|
||||
@@ -303,69 +303,69 @@ msgstr "(eingabe)"
|
||||
msgid "state allocation failed"
|
||||
msgstr "Speicherzuweisung für `state' fehlgeschlagen"
|
||||
|
||||
#: src/main/options.c:144 src/pv/file.c:324
|
||||
#: src/main/options.c:146 src/pv/file.c:324
|
||||
msgid "failed to stat file"
|
||||
msgstr "konnte Dateiinformationen nicht lesen"
|
||||
|
||||
#: src/main/options.c:158
|
||||
#: src/main/options.c:160
|
||||
msgid "is a directory"
|
||||
msgstr "ist ein Verzeichnis"
|
||||
|
||||
#: src/main/options.c:187
|
||||
#: src/main/options.c:189
|
||||
msgid "failed to generate sysfs filename"
|
||||
msgstr "konnte Sysfs-Dateinamen nicht erzeugen"
|
||||
|
||||
#: src/main/options.c:209
|
||||
#: src/main/options.c:211
|
||||
msgid "failed to read sysfs size file"
|
||||
msgstr "konnte Größe der Sysfs-Datei nicht lesen"
|
||||
|
||||
#: src/main/options.c:229
|
||||
#: src/main/options.c:231
|
||||
msgid "failed to open block device"
|
||||
msgstr "konnte Blockgerät nicht öffnen"
|
||||
|
||||
#: src/main/options.c:239
|
||||
#: src/main/options.c:241
|
||||
msgid "failed to determine size of block device"
|
||||
msgstr "konnte Größe des Blockgeräts nicht ermitteln"
|
||||
|
||||
#: src/main/options.c:345
|
||||
#: src/main/options.c:347
|
||||
msgid "option structure allocation failed"
|
||||
msgstr "Speicherzuweisung für `option' fehlgeschlagen"
|
||||
|
||||
#: src/main/options.c:364
|
||||
#: src/main/options.c:366
|
||||
msgid "option structure argv allocation failed"
|
||||
msgstr "Speicherzuweisung für `argv' der Option fehlgeschlagen"
|
||||
|
||||
#: src/main/options.c:417
|
||||
#: src/main/options.c:419
|
||||
msgid "numeric value not understood"
|
||||
msgstr ""
|
||||
msgstr "numerischen Wert nicht verstanden"
|
||||
|
||||
#: src/main/options.c:435
|
||||
#: src/main/options.c:437
|
||||
msgid "integer argument expected"
|
||||
msgstr "Ganzzahliges Argument erwartet"
|
||||
|
||||
#: src/main/options.c:447
|
||||
#: src/main/options.c:449
|
||||
msgid "numeric argument expected"
|
||||
msgstr "numerisches Argument erwartet"
|
||||
|
||||
#: src/main/options.c:458
|
||||
#: src/main/options.c:460
|
||||
msgid "process ID or pid:fd pair expected"
|
||||
msgstr "Prozess-ID oder PID:FD-Paar erwartet"
|
||||
|
||||
#: src/main/options.c:465
|
||||
#: src/main/options.c:467
|
||||
msgid "invalid process ID"
|
||||
msgstr "ungültige Prozess-ID"
|
||||
|
||||
#: src/main/options.c:698
|
||||
#: src/main/options.c:700
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information."
|
||||
msgstr "`%s --help' zeigt weitere Informationen an."
|
||||
|
||||
#: src/main/options.c:700
|
||||
#: src/main/options.c:702
|
||||
#, c-format
|
||||
msgid "Try `%s -h' for more information."
|
||||
msgstr "`%s -h' zeigt weitere Informationen an."
|
||||
|
||||
#: src/main/options.c:731
|
||||
#: src/main/options.c:733
|
||||
msgid ""
|
||||
"cannot use line mode or transfer modifier options when watching file "
|
||||
"descriptors"
|
||||
@@ -373,24 +373,24 @@ msgstr ""
|
||||
"Beim Beobachten von Dateideskriptoren können keine Optionen für den "
|
||||
"Zeilenmodus oder den Übertragungsmodifikator verwendet werden"
|
||||
|
||||
#: src/main/options.c:740
|
||||
#: src/main/options.c:742
|
||||
msgid "cannot use cursor positioning when watching file descriptors"
|
||||
msgstr ""
|
||||
"Beim Beobachten von Dateideskriptoren kann Cursor-Positionierung nicht "
|
||||
"verwendet werden"
|
||||
|
||||
#: src/main/options.c:749
|
||||
#: src/main/options.c:751
|
||||
msgid "cannot use remote control when watching file descriptors"
|
||||
msgstr ""
|
||||
"Beim Beobachten von Dateideskriptoren kann die Fernbedienung nicht verwenden "
|
||||
"werden"
|
||||
|
||||
#: src/main/options.c:758
|
||||
#: src/main/options.c:760
|
||||
msgid "cannot transfer files when watching file descriptors"
|
||||
msgstr ""
|
||||
"Beim Beobachten von Dateideskriptoren können Dateien nicht übertragen werden"
|
||||
|
||||
#: src/main/options.c:773
|
||||
#: src/main/options.c:775
|
||||
msgid "not available on systems without /proc/self/fdinfo"
|
||||
msgstr "Nicht verfügbar auf Systemen ohne /proc/self/fdinfo"
|
||||
|
||||
@@ -442,7 +442,7 @@ msgstr "yzafpnµm kMGTPEZY"
|
||||
msgid "yzafpnum KMGTPEZY"
|
||||
msgstr "yzafpnµm KMGTPEZY"
|
||||
|
||||
#: src/pv/display.c:1067 src/pv/transfer.c:1056
|
||||
#: src/pv/display.c:989 src/pv/transfer.c:1057
|
||||
msgid "buffer allocation failed"
|
||||
msgstr "Speicherzuweisung für den Puffer fehlgeschlagen"
|
||||
|
||||
@@ -474,26 +474,26 @@ msgstr "(keine)"
|
||||
msgid "(stdin)"
|
||||
msgstr "(stdin)"
|
||||
|
||||
#: src/pv/format/averagerate.c:30 src/pv/format/progressbar.c:93
|
||||
#: src/pv/format/rate.c:32 src/pv/loop.c:551
|
||||
#: src/pv/format/averagerate.c:34 src/pv/format/progressbar.c:93
|
||||
#: src/pv/format/rate.c:37 src/pv/loop.c:562
|
||||
msgid "b/s"
|
||||
msgstr "b/s"
|
||||
|
||||
#: src/pv/format/averagerate.c:34 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:36
|
||||
#: src/pv/format/averagerate.c:38 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:41
|
||||
msgid "/s"
|
||||
msgstr "/s"
|
||||
|
||||
#: src/pv/format/averagerate.c:34 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:36 src/pv/loop.c:551
|
||||
#: src/pv/format/averagerate.c:38 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:41 src/pv/loop.c:562
|
||||
msgid "B/s"
|
||||
msgstr "B/s"
|
||||
|
||||
#: src/pv/format/bytes.c:31
|
||||
#: src/pv/format/bytes.c:37
|
||||
msgid "b"
|
||||
msgstr "b"
|
||||
|
||||
#: src/pv/format/bytes.c:35 src/pv/transfer.c:594
|
||||
#: src/pv/format/bytes.c:41 src/pv/transfer.c:594
|
||||
msgid "B"
|
||||
msgstr "B"
|
||||
|
||||
@@ -505,16 +505,15 @@ msgstr "ETA"
|
||||
msgid "FIN"
|
||||
msgstr "Endzeit"
|
||||
|
||||
#: src/pv/loop.c:550
|
||||
#, fuzzy
|
||||
#: src/pv/loop.c:561
|
||||
msgid "rate min/avg/max/mdev"
|
||||
msgstr "Rate min/mittel/max/mdev"
|
||||
msgstr "Rate min/mittel/max/abweichung"
|
||||
|
||||
#: src/pv/loop.c:562
|
||||
#: src/pv/loop.c:573
|
||||
msgid "rate not measured"
|
||||
msgstr "Übertragungsrate nicht gemessen"
|
||||
|
||||
#: src/pv/loop.c:772 src/pv/loop.c:823 src/pv/loop.c:876 src/pv/watchpid.c:99
|
||||
#: src/pv/loop.c:783 src/pv/loop.c:834 src/pv/loop.c:887 src/pv/watchpid.c:99
|
||||
#: src/pv/watchpid.c:109 src/pv/watchpid.c:120 src/pv/watchpid.c:128
|
||||
#: src/pv/watchpid.c:165 src/pv/watchpid.c:184 src/pv/watchpid.c:192
|
||||
#: src/pv/watchpid.c:202 src/pv/watchpid.c:300 src/pv/watchpid.c:308
|
||||
@@ -526,7 +525,7 @@ msgstr "pid"
|
||||
msgid "history structure allocation failed"
|
||||
msgstr "Speicherzuweisung für `history' fehlgeschlagen"
|
||||
|
||||
#: src/pv/state.c:593 src/pv/state.c:604
|
||||
#: src/pv/state.c:617 src/pv/state.c:628
|
||||
msgid "file list allocation failed"
|
||||
msgstr "Speicherzuweisung für die Dateiliste fehlgeschlagen"
|
||||
|
||||
@@ -566,11 +565,11 @@ msgstr "konnte Intervall-Timer nicht löschen"
|
||||
msgid "line position buffer allocation failed"
|
||||
msgstr "Zuweisung des Zeilenpuffers fehlgeschlagen"
|
||||
|
||||
#: src/pv/transfer.c:917
|
||||
#: src/pv/transfer.c:918
|
||||
msgid "write failed"
|
||||
msgstr "write-Aufruf fehlgeschlagen"
|
||||
|
||||
#: src/pv/transfer.c:1154
|
||||
#: src/pv/transfer.c:1159
|
||||
msgid "select call failed"
|
||||
msgstr "select-Aufruf fehlgeschlagen"
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Report-Msgid-Bugs-To: pv@ivarch.com\n"
|
||||
"POT-Creation-Date: 2025-01-11 20:59+0000\n"
|
||||
"Report-Msgid-Bugs-To: https://codeberg.org/ivarch/pv/issues\n"
|
||||
"POT-Creation-Date: 2025-07-26 14:50+0100\n"
|
||||
"Language: es\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -279,87 +279,87 @@ msgstr ""
|
||||
msgid "state allocation failed"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:144 src/pv/file.c:324
|
||||
#: src/main/options.c:146 src/pv/file.c:324
|
||||
msgid "failed to stat file"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:158
|
||||
#: src/main/options.c:160
|
||||
msgid "is a directory"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:187
|
||||
#: src/main/options.c:189
|
||||
msgid "failed to generate sysfs filename"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:209
|
||||
#: src/main/options.c:211
|
||||
msgid "failed to read sysfs size file"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:229
|
||||
#: src/main/options.c:231
|
||||
msgid "failed to open block device"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:239
|
||||
#: src/main/options.c:241
|
||||
msgid "failed to determine size of block device"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:345
|
||||
#: src/main/options.c:347
|
||||
msgid "option structure allocation failed"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:364
|
||||
#: src/main/options.c:366
|
||||
msgid "option structure argv allocation failed"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:417
|
||||
#: src/main/options.c:419
|
||||
msgid "numeric value not understood"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:435
|
||||
#: src/main/options.c:437
|
||||
msgid "integer argument expected"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:447
|
||||
#: src/main/options.c:449
|
||||
msgid "numeric argument expected"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:458
|
||||
#: src/main/options.c:460
|
||||
msgid "process ID or pid:fd pair expected"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:465
|
||||
#: src/main/options.c:467
|
||||
msgid "invalid process ID"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:698
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information."
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:700
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information."
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:702
|
||||
#, c-format
|
||||
msgid "Try `%s -h' for more information."
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:731
|
||||
#: src/main/options.c:733
|
||||
msgid ""
|
||||
"cannot use line mode or transfer modifier options when watching file "
|
||||
"descriptors"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:740
|
||||
#: src/main/options.c:742
|
||||
msgid "cannot use cursor positioning when watching file descriptors"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:749
|
||||
#: src/main/options.c:751
|
||||
msgid "cannot use remote control when watching file descriptors"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:758
|
||||
#: src/main/options.c:760
|
||||
msgid "cannot transfer files when watching file descriptors"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:773
|
||||
#: src/main/options.c:775
|
||||
msgid "not available on systems without /proc/self/fdinfo"
|
||||
msgstr ""
|
||||
|
||||
@@ -411,7 +411,7 @@ msgstr ""
|
||||
msgid "yzafpnum KMGTPEZY"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:1067 src/pv/transfer.c:1056
|
||||
#: src/pv/display.c:989 src/pv/transfer.c:1057
|
||||
msgid "buffer allocation failed"
|
||||
msgstr ""
|
||||
|
||||
@@ -443,26 +443,26 @@ msgstr ""
|
||||
msgid "(stdin)"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/format/averagerate.c:30 src/pv/format/progressbar.c:93
|
||||
#: src/pv/format/rate.c:32 src/pv/loop.c:551
|
||||
#: src/pv/format/averagerate.c:34 src/pv/format/progressbar.c:93
|
||||
#: src/pv/format/rate.c:37 src/pv/loop.c:562
|
||||
msgid "b/s"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/format/averagerate.c:34 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:36
|
||||
#: src/pv/format/averagerate.c:38 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:41
|
||||
msgid "/s"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/format/averagerate.c:34 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:36 src/pv/loop.c:551
|
||||
#: src/pv/format/averagerate.c:38 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:41 src/pv/loop.c:562
|
||||
msgid "B/s"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/format/bytes.c:31
|
||||
#: src/pv/format/bytes.c:37
|
||||
msgid "b"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/format/bytes.c:35 src/pv/transfer.c:594
|
||||
#: src/pv/format/bytes.c:41 src/pv/transfer.c:594
|
||||
msgid "B"
|
||||
msgstr ""
|
||||
|
||||
@@ -474,15 +474,15 @@ msgstr ""
|
||||
msgid "FIN"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/loop.c:550
|
||||
#: src/pv/loop.c:561
|
||||
msgid "rate min/avg/max/mdev"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/loop.c:562
|
||||
#: src/pv/loop.c:573
|
||||
msgid "rate not measured"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/loop.c:772 src/pv/loop.c:823 src/pv/loop.c:876 src/pv/watchpid.c:99
|
||||
#: src/pv/loop.c:783 src/pv/loop.c:834 src/pv/loop.c:887 src/pv/watchpid.c:99
|
||||
#: src/pv/watchpid.c:109 src/pv/watchpid.c:120 src/pv/watchpid.c:128
|
||||
#: src/pv/watchpid.c:165 src/pv/watchpid.c:184 src/pv/watchpid.c:192
|
||||
#: src/pv/watchpid.c:202 src/pv/watchpid.c:300 src/pv/watchpid.c:308
|
||||
@@ -494,7 +494,7 @@ msgstr ""
|
||||
msgid "history structure allocation failed"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/state.c:593 src/pv/state.c:604
|
||||
#: src/pv/state.c:617 src/pv/state.c:628
|
||||
msgid "file list allocation failed"
|
||||
msgstr ""
|
||||
|
||||
@@ -534,11 +534,11 @@ msgstr ""
|
||||
msgid "line position buffer allocation failed"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/transfer.c:917
|
||||
#: src/pv/transfer.c:918
|
||||
msgid "write failed"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/transfer.c:1154
|
||||
#: src/pv/transfer.c:1159
|
||||
msgid "select call failed"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Report-Msgid-Bugs-To: pv@ivarch.com\n"
|
||||
"POT-Creation-Date: 2025-01-11 20:59+0000\n"
|
||||
"PO-Revision-Date: 2024-10-12 11:13+0000\n"
|
||||
"Last-Translator: a-j-wood <a-j-wood@users.noreply.translate.codeberg.org>\n"
|
||||
"Report-Msgid-Bugs-To: https://codeberg.org/ivarch/pv/issues\n"
|
||||
"POT-Creation-Date: 2025-07-26 14:50+0100\n"
|
||||
"PO-Revision-Date: 2025-05-31 08:58+0000\n"
|
||||
"Last-Translator: milimarg <milimarg@noreply.codeberg.org>\n"
|
||||
"Language-Team: French <https://translate.codeberg.org/projects/pv/pv/fr/>\n"
|
||||
"Language: fr\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 5.7.2\n"
|
||||
"X-Generator: Weblate 5.11.4\n"
|
||||
"Date: 1999-06-01 15:18:29+0100\n"
|
||||
"From: Andrew Wood <ivarch@ubik>\n"
|
||||
"Xgettext-Options: --default-domain=pkgbuild --directory=./.pkgdir --add-"
|
||||
@@ -159,19 +159,19 @@ msgstr "préfixer les informations visuelles avec NOM"
|
||||
|
||||
#: src/main/help.c:311
|
||||
msgid "STYLE"
|
||||
msgstr ""
|
||||
msgstr "STYLE"
|
||||
|
||||
#: src/main/help.c:312
|
||||
msgid "set default bar style to NAME"
|
||||
msgstr ""
|
||||
msgstr "définir le style de barre par défaut à NOM"
|
||||
|
||||
#: src/main/help.c:314
|
||||
msgid "SPEC"
|
||||
msgstr ""
|
||||
msgstr "SPÉCIFICATION"
|
||||
|
||||
#: src/main/help.c:315
|
||||
msgid "also send progress to SPEC"
|
||||
msgstr ""
|
||||
msgstr "aussi envoyer la progression à SPÉCIFICATION"
|
||||
|
||||
#: src/main/help.c:318
|
||||
msgid "output transfer statistics at the end"
|
||||
@@ -289,7 +289,7 @@ msgstr ""
|
||||
|
||||
#: src/main/help.c:555
|
||||
msgid "Supported format sequences:"
|
||||
msgstr ""
|
||||
msgstr "Séquences de formatage supportées :"
|
||||
|
||||
#: src/main/help.c:569
|
||||
#, c-format
|
||||
@@ -304,69 +304,69 @@ msgstr "(entrée)"
|
||||
msgid "state allocation failed"
|
||||
msgstr "échec de l'allocation de mémoire de condition"
|
||||
|
||||
#: src/main/options.c:144 src/pv/file.c:324
|
||||
#: src/main/options.c:146 src/pv/file.c:324
|
||||
msgid "failed to stat file"
|
||||
msgstr "échec à statuer sur le fichier"
|
||||
|
||||
#: src/main/options.c:158
|
||||
#: src/main/options.c:160
|
||||
msgid "is a directory"
|
||||
msgstr "est un répertoire"
|
||||
|
||||
#: src/main/options.c:187
|
||||
#: src/main/options.c:189
|
||||
msgid "failed to generate sysfs filename"
|
||||
msgstr ""
|
||||
msgstr "échec de génération du nom de fichier sysfs"
|
||||
|
||||
#: src/main/options.c:209
|
||||
#: src/main/options.c:211
|
||||
msgid "failed to read sysfs size file"
|
||||
msgstr ""
|
||||
msgstr "échec de la lecture de la taille du fichier sysfs"
|
||||
|
||||
#: src/main/options.c:229
|
||||
#: src/main/options.c:231
|
||||
msgid "failed to open block device"
|
||||
msgstr ""
|
||||
msgstr "échec de l'ouverture du périphérique de bloc"
|
||||
|
||||
#: src/main/options.c:239
|
||||
#: src/main/options.c:241
|
||||
msgid "failed to determine size of block device"
|
||||
msgstr ""
|
||||
msgstr "échec de l'évaluation de la taille du périphérique de bloc"
|
||||
|
||||
#: src/main/options.c:345
|
||||
#: src/main/options.c:347
|
||||
msgid "option structure allocation failed"
|
||||
msgstr "l'allocation pour la structure d'une option a échoué"
|
||||
|
||||
#: src/main/options.c:364
|
||||
#: src/main/options.c:366
|
||||
msgid "option structure argv allocation failed"
|
||||
msgstr "l'allocation pour la structure de l'option argv a échoué"
|
||||
|
||||
#: src/main/options.c:417
|
||||
#: src/main/options.c:419
|
||||
msgid "numeric value not understood"
|
||||
msgstr ""
|
||||
msgstr "valeur numérique non comprise"
|
||||
|
||||
#: src/main/options.c:435
|
||||
#: src/main/options.c:437
|
||||
msgid "integer argument expected"
|
||||
msgstr "Valeur entière attendue"
|
||||
|
||||
#: src/main/options.c:447
|
||||
#: src/main/options.c:449
|
||||
msgid "numeric argument expected"
|
||||
msgstr "Valeur numérique attendue"
|
||||
|
||||
#: src/main/options.c:458
|
||||
#: src/main/options.c:460
|
||||
msgid "process ID or pid:fd pair expected"
|
||||
msgstr "ID de processus ou paire pid:fd attendue"
|
||||
|
||||
#: src/main/options.c:465
|
||||
#: src/main/options.c:467
|
||||
msgid "invalid process ID"
|
||||
msgstr "ID de processus non valide"
|
||||
|
||||
#: src/main/options.c:698
|
||||
#: src/main/options.c:700
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information."
|
||||
msgstr "Essayez `%s --help' pour plus d'informations."
|
||||
|
||||
#: src/main/options.c:700
|
||||
#: src/main/options.c:702
|
||||
#, c-format
|
||||
msgid "Try `%s -h' for more information."
|
||||
msgstr "Essayez `%s -h' pour plus d'informations."
|
||||
|
||||
#: src/main/options.c:731
|
||||
#: src/main/options.c:733
|
||||
msgid ""
|
||||
"cannot use line mode or transfer modifier options when watching file "
|
||||
"descriptors"
|
||||
@@ -374,25 +374,25 @@ msgstr ""
|
||||
"impossible d'utiliser le mode ligne ou les options de modificateur de "
|
||||
"transfert lors de la visualisation des descripteurs de fichiers"
|
||||
|
||||
#: src/main/options.c:740
|
||||
#: src/main/options.c:742
|
||||
msgid "cannot use cursor positioning when watching file descriptors"
|
||||
msgstr ""
|
||||
"impossible d'utiliser le positionnement du curseur lors de la visualisation "
|
||||
"des descripteurs de fichier"
|
||||
|
||||
#: src/main/options.c:749
|
||||
#: src/main/options.c:751
|
||||
msgid "cannot use remote control when watching file descriptors"
|
||||
msgstr ""
|
||||
"impossible d'utiliser la télécommande lors de la visualisation des "
|
||||
"descripteurs de fichiers"
|
||||
|
||||
#: src/main/options.c:758
|
||||
#: src/main/options.c:760
|
||||
msgid "cannot transfer files when watching file descriptors"
|
||||
msgstr ""
|
||||
"impossible de transférer des fichiers lorsque vous regardez des descripteurs "
|
||||
"de fichiers"
|
||||
|
||||
#: src/main/options.c:773
|
||||
#: src/main/options.c:775
|
||||
msgid "not available on systems without /proc/self/fdinfo"
|
||||
msgstr "non disponible sur les systèmes sans /proc/self/fdinfo"
|
||||
|
||||
@@ -440,13 +440,13 @@ msgstr "échec de l'ouverture du terminal"
|
||||
|
||||
#: src/pv/display.c:249
|
||||
msgid "yzafpnum kMGTPEZY"
|
||||
msgstr ""
|
||||
msgstr "yzafpnum kMGTPEZY"
|
||||
|
||||
#: src/pv/display.c:267
|
||||
msgid "yzafpnum KMGTPEZY"
|
||||
msgstr ""
|
||||
msgstr "yzafpnum KMGTPEZY"
|
||||
|
||||
#: src/pv/display.c:1067 src/pv/transfer.c:1056
|
||||
#: src/pv/display.c:989 src/pv/transfer.c:1057
|
||||
msgid "buffer allocation failed"
|
||||
msgstr "échec de l'allocation de mémoire tampon"
|
||||
|
||||
@@ -476,28 +476,28 @@ msgstr "(aucun)"
|
||||
|
||||
#: src/pv/file.c:414
|
||||
msgid "(stdin)"
|
||||
msgstr ""
|
||||
msgstr "(stdin)"
|
||||
|
||||
#: src/pv/format/averagerate.c:30 src/pv/format/progressbar.c:93
|
||||
#: src/pv/format/rate.c:32 src/pv/loop.c:551
|
||||
#: src/pv/format/averagerate.c:34 src/pv/format/progressbar.c:93
|
||||
#: src/pv/format/rate.c:37 src/pv/loop.c:562
|
||||
msgid "b/s"
|
||||
msgstr ""
|
||||
msgstr "b/s"
|
||||
|
||||
#: src/pv/format/averagerate.c:34 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:36
|
||||
#: src/pv/format/averagerate.c:38 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:41
|
||||
msgid "/s"
|
||||
msgstr "/s"
|
||||
|
||||
#: src/pv/format/averagerate.c:34 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:36 src/pv/loop.c:551
|
||||
#: src/pv/format/averagerate.c:38 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:41 src/pv/loop.c:562
|
||||
msgid "B/s"
|
||||
msgstr "O/s"
|
||||
|
||||
#: src/pv/format/bytes.c:31
|
||||
#: src/pv/format/bytes.c:37
|
||||
msgid "b"
|
||||
msgstr ""
|
||||
msgstr "b"
|
||||
|
||||
#: src/pv/format/bytes.c:35 src/pv/transfer.c:594
|
||||
#: src/pv/format/bytes.c:41 src/pv/transfer.c:594
|
||||
msgid "B"
|
||||
msgstr "O"
|
||||
|
||||
@@ -507,29 +507,29 @@ msgstr "ETA"
|
||||
|
||||
#: src/pv/format/fineta.c:81
|
||||
msgid "FIN"
|
||||
msgstr ""
|
||||
msgstr "FIN"
|
||||
|
||||
#: src/pv/loop.c:550
|
||||
#: src/pv/loop.c:561
|
||||
msgid "rate min/avg/max/mdev"
|
||||
msgstr ""
|
||||
msgstr "taux min/moy/max/écart-type"
|
||||
|
||||
#: src/pv/loop.c:562
|
||||
#: src/pv/loop.c:573
|
||||
msgid "rate not measured"
|
||||
msgstr ""
|
||||
msgstr "taux non mesuré"
|
||||
|
||||
#: src/pv/loop.c:772 src/pv/loop.c:823 src/pv/loop.c:876 src/pv/watchpid.c:99
|
||||
#: src/pv/loop.c:783 src/pv/loop.c:834 src/pv/loop.c:887 src/pv/watchpid.c:99
|
||||
#: src/pv/watchpid.c:109 src/pv/watchpid.c:120 src/pv/watchpid.c:128
|
||||
#: src/pv/watchpid.c:165 src/pv/watchpid.c:184 src/pv/watchpid.c:192
|
||||
#: src/pv/watchpid.c:202 src/pv/watchpid.c:300 src/pv/watchpid.c:308
|
||||
#: src/pv/watchpid.c:385 src/pv/watchpid.c:406
|
||||
msgid "pid"
|
||||
msgstr ""
|
||||
msgstr "pid"
|
||||
|
||||
#: src/pv/state.c:40
|
||||
msgid "history structure allocation failed"
|
||||
msgstr "l'allocation de la structure de l'historique a échoué"
|
||||
|
||||
#: src/pv/state.c:593 src/pv/state.c:604
|
||||
#: src/pv/state.c:617 src/pv/state.c:628
|
||||
msgid "file list allocation failed"
|
||||
msgstr "échec de l'allocation de la liste de fichiers"
|
||||
|
||||
@@ -559,28 +559,28 @@ msgstr "aucun tampon de transfert alloué"
|
||||
|
||||
#: src/pv/transfer.c:676
|
||||
msgid "failed to set interval timer"
|
||||
msgstr ""
|
||||
msgstr "La définition de l'intervalle du minuteur a échoué"
|
||||
|
||||
#: src/pv/transfer.c:702
|
||||
msgid "failed to clear interval timer"
|
||||
msgstr ""
|
||||
msgstr "La réinitialisation des intervalles du minuteur a échoué"
|
||||
|
||||
#: src/pv/transfer.c:744
|
||||
msgid "line position buffer allocation failed"
|
||||
msgstr ""
|
||||
msgstr "L'allocation de la position de la ligne de la mémoire tampon a échoué"
|
||||
|
||||
#: src/pv/transfer.c:917
|
||||
#: src/pv/transfer.c:918
|
||||
msgid "write failed"
|
||||
msgstr "l'écriture a échoué"
|
||||
|
||||
#: src/pv/transfer.c:1154
|
||||
#: src/pv/transfer.c:1159
|
||||
msgid "select call failed"
|
||||
msgstr "l'appel de sélection a échoué"
|
||||
|
||||
#: src/pv/watchpid.c:109 src/pv/watchpid.c:121 src/pv/watchpid.c:130
|
||||
#: src/pv/watchpid.c:184 src/pv/watchpid.c:193 src/pv/watchpid.c:204
|
||||
msgid "fd"
|
||||
msgstr ""
|
||||
msgstr "fd"
|
||||
|
||||
#: src/pv/watchpid.c:130 src/pv/watchpid.c:204
|
||||
msgid "not a regular file or block device"
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: pv@ivarch.com\n"
|
||||
"POT-Creation-Date: 2025-01-11 20:59+0000\n"
|
||||
"PO-Revision-Date: 2024-10-20 14:07+0000\n"
|
||||
"Report-Msgid-Bugs-To: https://codeberg.org/ivarch/pv/issues\n"
|
||||
"POT-Creation-Date: 2025-07-26 14:50+0100\n"
|
||||
"PO-Revision-Date: 2025-01-15 19:08+0000\n"
|
||||
"Last-Translator: coralpink <coralpink@users.noreply.translate.codeberg.org>\n"
|
||||
"Language-Team: Polish <https://translate.codeberg.org/projects/pv/pv/pl/>\n"
|
||||
"Language: pl\n"
|
||||
@@ -16,7 +16,7 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
|
||||
"|| n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 5.7.2\n"
|
||||
"X-Generator: Weblate 5.9.2\n"
|
||||
|
||||
#: src/main/help.c:236
|
||||
msgid "show progress bar"
|
||||
@@ -152,19 +152,19 @@ msgstr "poprzedź informacje prefiksem NAZWA"
|
||||
|
||||
#: src/main/help.c:311
|
||||
msgid "STYLE"
|
||||
msgstr ""
|
||||
msgstr "STYL"
|
||||
|
||||
#: src/main/help.c:312
|
||||
msgid "set default bar style to NAME"
|
||||
msgstr ""
|
||||
msgstr "ustaw domyślny styl paska postępu na STYL"
|
||||
|
||||
#: src/main/help.c:314
|
||||
msgid "SPEC"
|
||||
msgstr ""
|
||||
msgstr "SPEC"
|
||||
|
||||
#: src/main/help.c:315
|
||||
msgid "also send progress to SPEC"
|
||||
msgstr ""
|
||||
msgstr "wysyłaj postęp również do SPEC"
|
||||
|
||||
#: src/main/help.c:318
|
||||
msgid "output transfer statistics at the end"
|
||||
@@ -283,7 +283,7 @@ msgstr ""
|
||||
|
||||
#: src/main/help.c:555
|
||||
msgid "Supported format sequences:"
|
||||
msgstr ""
|
||||
msgstr "Wspierane sekwencje formatowania:"
|
||||
|
||||
#: src/main/help.c:569
|
||||
#, c-format
|
||||
@@ -298,69 +298,69 @@ msgstr "(wejście)"
|
||||
msgid "state allocation failed"
|
||||
msgstr "alokacja stanu programu nie powiodła się"
|
||||
|
||||
#: src/main/options.c:144 src/pv/file.c:324
|
||||
#: src/main/options.c:146 src/pv/file.c:324
|
||||
msgid "failed to stat file"
|
||||
msgstr "nie udało się wykonać operacji stat na pliku"
|
||||
|
||||
#: src/main/options.c:158
|
||||
#: src/main/options.c:160
|
||||
msgid "is a directory"
|
||||
msgstr "jest katalogiem"
|
||||
|
||||
#: src/main/options.c:187
|
||||
#: src/main/options.c:189
|
||||
msgid "failed to generate sysfs filename"
|
||||
msgstr "nie udało się wygenerować nazwy pliku dla sysfs"
|
||||
|
||||
#: src/main/options.c:209
|
||||
#: src/main/options.c:211
|
||||
msgid "failed to read sysfs size file"
|
||||
msgstr "nie udało się odczytać rozmiaru pliku sysfs"
|
||||
|
||||
#: src/main/options.c:229
|
||||
#: src/main/options.c:231
|
||||
msgid "failed to open block device"
|
||||
msgstr "nie udało się otworzyć urządzenia blokowego"
|
||||
|
||||
#: src/main/options.c:239
|
||||
#: src/main/options.c:241
|
||||
msgid "failed to determine size of block device"
|
||||
msgstr "nie udało się ustalić rozmiaru urządzenia blokowego"
|
||||
|
||||
#: src/main/options.c:345
|
||||
#: src/main/options.c:347
|
||||
msgid "option structure allocation failed"
|
||||
msgstr "nie udało się zaalokować struktur opcji"
|
||||
|
||||
#: src/main/options.c:364
|
||||
#: src/main/options.c:366
|
||||
msgid "option structure argv allocation failed"
|
||||
msgstr "nie udało się zaalokować struktur opcji argv"
|
||||
|
||||
#: src/main/options.c:417
|
||||
#: src/main/options.c:419
|
||||
msgid "numeric value not understood"
|
||||
msgstr ""
|
||||
msgstr "wartość liczbowa niezrozumiana"
|
||||
|
||||
#: src/main/options.c:435
|
||||
#: src/main/options.c:437
|
||||
msgid "integer argument expected"
|
||||
msgstr "oczekiwany argument typu liczby całkowitej"
|
||||
|
||||
#: src/main/options.c:447
|
||||
#: src/main/options.c:449
|
||||
msgid "numeric argument expected"
|
||||
msgstr "oczekiwany argument liczbowy"
|
||||
|
||||
#: src/main/options.c:458
|
||||
#: src/main/options.c:460
|
||||
msgid "process ID or pid:fd pair expected"
|
||||
msgstr "oczekiwany proces ID lub para PID:FD"
|
||||
|
||||
#: src/main/options.c:465
|
||||
#: src/main/options.c:467
|
||||
msgid "invalid process ID"
|
||||
msgstr "niepoprawne ID procesu"
|
||||
|
||||
#: src/main/options.c:698
|
||||
#: src/main/options.c:700
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information."
|
||||
msgstr "Spróbuj `%s --help' by uzyskać więcej informacji."
|
||||
|
||||
#: src/main/options.c:700
|
||||
#: src/main/options.c:702
|
||||
#, c-format
|
||||
msgid "Try `%s -h' for more information."
|
||||
msgstr "Spróbuj `%s -h' by uzyskać więcej informacji."
|
||||
|
||||
#: src/main/options.c:731
|
||||
#: src/main/options.c:733
|
||||
msgid ""
|
||||
"cannot use line mode or transfer modifier options when watching file "
|
||||
"descriptors"
|
||||
@@ -368,23 +368,23 @@ msgstr ""
|
||||
"nie można użyć trybu zliczania linii lub opcji modyfikujących przesył "
|
||||
"łącznie z opcją obserwowania deskryptorów plików"
|
||||
|
||||
#: src/main/options.c:740
|
||||
#: src/main/options.c:742
|
||||
msgid "cannot use cursor positioning when watching file descriptors"
|
||||
msgstr ""
|
||||
"nie można użyć pozycjonowania kursora łącznie z opcją obserwowania "
|
||||
"deskryptorów plików"
|
||||
|
||||
#: src/main/options.c:749
|
||||
#: src/main/options.c:751
|
||||
msgid "cannot use remote control when watching file descriptors"
|
||||
msgstr ""
|
||||
"nie można użyć opcji zaktualizowania ustawień procesu łącznie z opcją "
|
||||
"obserwowania deskryptorów plików"
|
||||
|
||||
#: src/main/options.c:758
|
||||
#: src/main/options.c:760
|
||||
msgid "cannot transfer files when watching file descriptors"
|
||||
msgstr "nie można przesyłać plików z opcją obserwowania deskryptorów plików"
|
||||
|
||||
#: src/main/options.c:773
|
||||
#: src/main/options.c:775
|
||||
msgid "not available on systems without /proc/self/fdinfo"
|
||||
msgstr "niedostępne na systemach bez /proc/self/fdinfo"
|
||||
|
||||
@@ -437,7 +437,7 @@ msgstr "yzafpnum kMGTPEZY"
|
||||
msgid "yzafpnum KMGTPEZY"
|
||||
msgstr "yzafpnum KMGTPEZY"
|
||||
|
||||
#: src/pv/display.c:1067 src/pv/transfer.c:1056
|
||||
#: src/pv/display.c:989 src/pv/transfer.c:1057
|
||||
msgid "buffer allocation failed"
|
||||
msgstr "nie udało się zaalokować bufora"
|
||||
|
||||
@@ -470,26 +470,26 @@ msgstr "(brak)"
|
||||
msgid "(stdin)"
|
||||
msgstr "(stdin)"
|
||||
|
||||
#: src/pv/format/averagerate.c:30 src/pv/format/progressbar.c:93
|
||||
#: src/pv/format/rate.c:32 src/pv/loop.c:551
|
||||
#: src/pv/format/averagerate.c:34 src/pv/format/progressbar.c:93
|
||||
#: src/pv/format/rate.c:37 src/pv/loop.c:562
|
||||
msgid "b/s"
|
||||
msgstr "b/s"
|
||||
|
||||
#: src/pv/format/averagerate.c:34 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:36
|
||||
#: src/pv/format/averagerate.c:38 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:41
|
||||
msgid "/s"
|
||||
msgstr "/s"
|
||||
|
||||
#: src/pv/format/averagerate.c:34 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:36 src/pv/loop.c:551
|
||||
#: src/pv/format/averagerate.c:38 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:41 src/pv/loop.c:562
|
||||
msgid "B/s"
|
||||
msgstr "B/s"
|
||||
|
||||
#: src/pv/format/bytes.c:31
|
||||
#: src/pv/format/bytes.c:37
|
||||
msgid "b"
|
||||
msgstr "b"
|
||||
|
||||
#: src/pv/format/bytes.c:35 src/pv/transfer.c:594
|
||||
#: src/pv/format/bytes.c:41 src/pv/transfer.c:594
|
||||
msgid "B"
|
||||
msgstr "B"
|
||||
|
||||
@@ -501,15 +501,15 @@ msgstr "ETA"
|
||||
msgid "FIN"
|
||||
msgstr "FIN"
|
||||
|
||||
#: src/pv/loop.c:550
|
||||
#: src/pv/loop.c:561
|
||||
msgid "rate min/avg/max/mdev"
|
||||
msgstr "prędkość min/śr/max/odch"
|
||||
|
||||
#: src/pv/loop.c:562
|
||||
#: src/pv/loop.c:573
|
||||
msgid "rate not measured"
|
||||
msgstr "prędkość niezmierzona"
|
||||
|
||||
#: src/pv/loop.c:772 src/pv/loop.c:823 src/pv/loop.c:876 src/pv/watchpid.c:99
|
||||
#: src/pv/loop.c:783 src/pv/loop.c:834 src/pv/loop.c:887 src/pv/watchpid.c:99
|
||||
#: src/pv/watchpid.c:109 src/pv/watchpid.c:120 src/pv/watchpid.c:128
|
||||
#: src/pv/watchpid.c:165 src/pv/watchpid.c:184 src/pv/watchpid.c:192
|
||||
#: src/pv/watchpid.c:202 src/pv/watchpid.c:300 src/pv/watchpid.c:308
|
||||
@@ -521,7 +521,7 @@ msgstr "pid"
|
||||
msgid "history structure allocation failed"
|
||||
msgstr "nie udało się zaalokować struktury historii"
|
||||
|
||||
#: src/pv/state.c:593 src/pv/state.c:604
|
||||
#: src/pv/state.c:617 src/pv/state.c:628
|
||||
msgid "file list allocation failed"
|
||||
msgstr "nie udało się zaalokować listy plików"
|
||||
|
||||
@@ -562,11 +562,11 @@ msgstr "nie udało się wyczyścić interwału czasowego"
|
||||
msgid "line position buffer allocation failed"
|
||||
msgstr "alokacja buforu pozycji linii nie powiodła się"
|
||||
|
||||
#: src/pv/transfer.c:917
|
||||
#: src/pv/transfer.c:918
|
||||
msgid "write failed"
|
||||
msgstr "błąd zapisu"
|
||||
|
||||
#: src/pv/transfer.c:1154
|
||||
#: src/pv/transfer.c:1159
|
||||
msgid "select call failed"
|
||||
msgstr "nie udało się wywołać funkcji select"
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: pv@ivarch.com\n"
|
||||
"POT-Creation-Date: 2025-01-11 20:59+0000\n"
|
||||
"Report-Msgid-Bugs-To: https://codeberg.org/ivarch/pv/issues\n"
|
||||
"POT-Creation-Date: 2025-07-26 14:50+0100\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"
|
||||
@@ -289,69 +289,69 @@ msgstr ""
|
||||
msgid "state allocation failed"
|
||||
msgstr "alocação de memória de status falhou"
|
||||
|
||||
#: src/main/options.c:144 src/pv/file.c:324
|
||||
#: src/main/options.c:146 src/pv/file.c:324
|
||||
msgid "failed to stat file"
|
||||
msgstr "erro obtendo informações do arquivo"
|
||||
|
||||
#: src/main/options.c:158
|
||||
#: src/main/options.c:160
|
||||
msgid "is a directory"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:187
|
||||
#: src/main/options.c:189
|
||||
msgid "failed to generate sysfs filename"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:209
|
||||
#: src/main/options.c:211
|
||||
msgid "failed to read sysfs size file"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:229
|
||||
#: src/main/options.c:231
|
||||
msgid "failed to open block device"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:239
|
||||
#: src/main/options.c:241
|
||||
msgid "failed to determine size of block device"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:345
|
||||
#: src/main/options.c:347
|
||||
msgid "option structure allocation failed"
|
||||
msgstr "erro na alocação da estrutura de opções"
|
||||
|
||||
#: src/main/options.c:364
|
||||
#: src/main/options.c:366
|
||||
msgid "option structure argv allocation failed"
|
||||
msgstr "erro na alocação da estrutura de opções argv"
|
||||
|
||||
#: src/main/options.c:417
|
||||
#: src/main/options.c:419
|
||||
msgid "numeric value not understood"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:435
|
||||
#: src/main/options.c:437
|
||||
msgid "integer argument expected"
|
||||
msgstr "argumento inteiro esperado"
|
||||
|
||||
#: src/main/options.c:447
|
||||
#: src/main/options.c:449
|
||||
msgid "numeric argument expected"
|
||||
msgstr "argumento numérico esperado"
|
||||
|
||||
#: src/main/options.c:458
|
||||
#: src/main/options.c:460
|
||||
msgid "process ID or pid:fd pair expected"
|
||||
msgstr "ID do processo ou par pid:fd esperado"
|
||||
|
||||
#: src/main/options.c:465
|
||||
#: src/main/options.c:467
|
||||
msgid "invalid process ID"
|
||||
msgstr "ID de processo inválido"
|
||||
|
||||
#: src/main/options.c:698
|
||||
#: src/main/options.c:700
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information."
|
||||
msgstr "Tente `%s --help' para maiores informações."
|
||||
|
||||
#: src/main/options.c:700
|
||||
#: src/main/options.c:702
|
||||
#, c-format
|
||||
msgid "Try `%s -h' for more information."
|
||||
msgstr "Tente `%s -h' para maiores informações."
|
||||
|
||||
#: src/main/options.c:731
|
||||
#: src/main/options.c:733
|
||||
msgid ""
|
||||
"cannot use line mode or transfer modifier options when watching file "
|
||||
"descriptors"
|
||||
@@ -359,21 +359,21 @@ msgstr ""
|
||||
"não pode usar o modo de linha ou opções de modificador de transferência ao "
|
||||
"assistir os descritores de arquivo"
|
||||
|
||||
#: src/main/options.c:740
|
||||
#: src/main/options.c:742
|
||||
msgid "cannot use cursor positioning when watching file descriptors"
|
||||
msgstr ""
|
||||
"não pode usar o posicionamento do cursor ao observar os descritores de "
|
||||
"arquivo"
|
||||
|
||||
#: src/main/options.c:749
|
||||
#: src/main/options.c:751
|
||||
msgid "cannot use remote control when watching file descriptors"
|
||||
msgstr "não pode usar o controle remoto ao assistir os descritores de arquivo"
|
||||
|
||||
#: src/main/options.c:758
|
||||
#: src/main/options.c:760
|
||||
msgid "cannot transfer files when watching file descriptors"
|
||||
msgstr "não pode transferir arquivos ao assistir descritores de arquivo"
|
||||
|
||||
#: src/main/options.c:773
|
||||
#: src/main/options.c:775
|
||||
msgid "not available on systems without /proc/self/fdinfo"
|
||||
msgstr "não disponível em sistemas sem /proc/self/fdinfo"
|
||||
|
||||
@@ -425,7 +425,7 @@ msgstr ""
|
||||
msgid "yzafpnum KMGTPEZY"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:1067 src/pv/transfer.c:1056
|
||||
#: src/pv/display.c:989 src/pv/transfer.c:1057
|
||||
msgid "buffer allocation failed"
|
||||
msgstr "erro alocando o buffer"
|
||||
|
||||
@@ -457,26 +457,26 @@ msgstr ""
|
||||
msgid "(stdin)"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/format/averagerate.c:30 src/pv/format/progressbar.c:93
|
||||
#: src/pv/format/rate.c:32 src/pv/loop.c:551
|
||||
#: src/pv/format/averagerate.c:34 src/pv/format/progressbar.c:93
|
||||
#: src/pv/format/rate.c:37 src/pv/loop.c:562
|
||||
msgid "b/s"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/format/averagerate.c:34 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:36
|
||||
#: src/pv/format/averagerate.c:38 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:41
|
||||
msgid "/s"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/format/averagerate.c:34 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:36 src/pv/loop.c:551
|
||||
#: src/pv/format/averagerate.c:38 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:41 src/pv/loop.c:562
|
||||
msgid "B/s"
|
||||
msgstr "B/s"
|
||||
|
||||
#: src/pv/format/bytes.c:31
|
||||
#: src/pv/format/bytes.c:37
|
||||
msgid "b"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/format/bytes.c:35 src/pv/transfer.c:594
|
||||
#: src/pv/format/bytes.c:41 src/pv/transfer.c:594
|
||||
msgid "B"
|
||||
msgstr ""
|
||||
|
||||
@@ -488,15 +488,15 @@ msgstr "ETA"
|
||||
msgid "FIN"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/loop.c:550
|
||||
#: src/pv/loop.c:561
|
||||
msgid "rate min/avg/max/mdev"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/loop.c:562
|
||||
#: src/pv/loop.c:573
|
||||
msgid "rate not measured"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/loop.c:772 src/pv/loop.c:823 src/pv/loop.c:876 src/pv/watchpid.c:99
|
||||
#: src/pv/loop.c:783 src/pv/loop.c:834 src/pv/loop.c:887 src/pv/watchpid.c:99
|
||||
#: src/pv/watchpid.c:109 src/pv/watchpid.c:120 src/pv/watchpid.c:128
|
||||
#: src/pv/watchpid.c:165 src/pv/watchpid.c:184 src/pv/watchpid.c:192
|
||||
#: src/pv/watchpid.c:202 src/pv/watchpid.c:300 src/pv/watchpid.c:308
|
||||
@@ -508,7 +508,7 @@ msgstr ""
|
||||
msgid "history structure allocation failed"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/state.c:593 src/pv/state.c:604
|
||||
#: src/pv/state.c:617 src/pv/state.c:628
|
||||
msgid "file list allocation failed"
|
||||
msgstr ""
|
||||
|
||||
@@ -548,11 +548,11 @@ msgstr ""
|
||||
msgid "line position buffer allocation failed"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/transfer.c:917
|
||||
#: src/pv/transfer.c:918
|
||||
msgid "write failed"
|
||||
msgstr "erro de gravação"
|
||||
|
||||
#: src/pv/transfer.c:1154
|
||||
#: src/pv/transfer.c:1159
|
||||
msgid "select call failed"
|
||||
msgstr "erro na chamada da função select"
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Report-Msgid-Bugs-To: pv@ivarch.com\n"
|
||||
"POT-Creation-Date: 2025-01-11 20:59+0000\n"
|
||||
"PO-Revision-Date: 2024-10-22 18:07+0000\n"
|
||||
"Report-Msgid-Bugs-To: https://codeberg.org/ivarch/pv/issues\n"
|
||||
"POT-Creation-Date: 2025-07-26 14:50+0100\n"
|
||||
"PO-Revision-Date: 2025-01-15 19:08+0000\n"
|
||||
"Last-Translator: 0ko <0ko@users.noreply.translate.codeberg.org>\n"
|
||||
"Language-Team: Russian <https://translate.codeberg.org/projects/pv/pv/ru/>\n"
|
||||
"Language: ru\n"
|
||||
@@ -11,7 +11,7 @@ msgstr ""
|
||||
"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: Weblate 5.8.1\n"
|
||||
"X-Generator: Weblate 5.9.2\n"
|
||||
|
||||
#: src/main/help.c:236
|
||||
msgid "show progress bar"
|
||||
@@ -143,11 +143,11 @@ msgstr "писать ИМЯ до визуальной информации"
|
||||
|
||||
#: src/main/help.c:311
|
||||
msgid "STYLE"
|
||||
msgstr ""
|
||||
msgstr "СТИЛЬ"
|
||||
|
||||
#: src/main/help.c:312
|
||||
msgid "set default bar style to NAME"
|
||||
msgstr ""
|
||||
msgstr "задать стиль полоски по умолчанию как НАЗВАНИЕ"
|
||||
|
||||
#: src/main/help.c:314
|
||||
msgid "SPEC"
|
||||
@@ -271,7 +271,7 @@ msgstr ""
|
||||
|
||||
#: src/main/help.c:555
|
||||
msgid "Supported format sequences:"
|
||||
msgstr ""
|
||||
msgstr "Поддерживаемые последовательности:"
|
||||
|
||||
#: src/main/help.c:569
|
||||
#, c-format
|
||||
@@ -286,87 +286,87 @@ msgstr "(ввод)"
|
||||
msgid "state allocation failed"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:144 src/pv/file.c:324
|
||||
#: src/main/options.c:146 src/pv/file.c:324
|
||||
msgid "failed to stat file"
|
||||
msgstr "не удалось получить информацию о файле"
|
||||
|
||||
#: src/main/options.c:158
|
||||
#: src/main/options.c:160
|
||||
msgid "is a directory"
|
||||
msgstr "является каталогом"
|
||||
|
||||
#: src/main/options.c:187
|
||||
#: src/main/options.c:189
|
||||
msgid "failed to generate sysfs filename"
|
||||
msgstr "не удалось создать имя файла sysfs"
|
||||
|
||||
#: src/main/options.c:209
|
||||
#: src/main/options.c:211
|
||||
msgid "failed to read sysfs size file"
|
||||
msgstr "не удалось узнать размер файла sysfs"
|
||||
|
||||
#: src/main/options.c:229
|
||||
#: src/main/options.c:231
|
||||
msgid "failed to open block device"
|
||||
msgstr "не удалось открыть блочное устройство"
|
||||
|
||||
#: src/main/options.c:239
|
||||
#: src/main/options.c:241
|
||||
msgid "failed to determine size of block device"
|
||||
msgstr "не удалось определить размер блочного устройства"
|
||||
|
||||
#: src/main/options.c:345
|
||||
#: src/main/options.c:347
|
||||
msgid "option structure allocation failed"
|
||||
msgstr "не удалось выделить память для структуры опций"
|
||||
|
||||
#: src/main/options.c:364
|
||||
#: src/main/options.c:366
|
||||
msgid "option structure argv allocation failed"
|
||||
msgstr "не удалось выделить память для структуры опций argv"
|
||||
|
||||
#: src/main/options.c:417
|
||||
#: src/main/options.c:419
|
||||
msgid "numeric value not understood"
|
||||
msgstr ""
|
||||
msgstr "число не распознано"
|
||||
|
||||
#: src/main/options.c:435
|
||||
#: src/main/options.c:437
|
||||
msgid "integer argument expected"
|
||||
msgstr "ожидалось целое число"
|
||||
|
||||
#: src/main/options.c:447
|
||||
#: src/main/options.c:449
|
||||
msgid "numeric argument expected"
|
||||
msgstr "ожидалось число"
|
||||
|
||||
#: src/main/options.c:458
|
||||
#: src/main/options.c:460
|
||||
msgid "process ID or pid:fd pair expected"
|
||||
msgstr "ожидался ИД процесса или пара ИДпр:ДФ"
|
||||
|
||||
#: src/main/options.c:465
|
||||
#: src/main/options.c:467
|
||||
msgid "invalid process ID"
|
||||
msgstr "неправильный ИД процесса"
|
||||
|
||||
#: src/main/options.c:698
|
||||
#: src/main/options.c:700
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information."
|
||||
msgstr "Выполните `%s --help' для получения подробностей."
|
||||
|
||||
#: src/main/options.c:700
|
||||
#: src/main/options.c:702
|
||||
#, c-format
|
||||
msgid "Try `%s -h' for more information."
|
||||
msgstr "Выполните `%s -h' для получения подробностей."
|
||||
|
||||
#: src/main/options.c:731
|
||||
#: src/main/options.c:733
|
||||
msgid ""
|
||||
"cannot use line mode or transfer modifier options when watching file "
|
||||
"descriptors"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:740
|
||||
#: src/main/options.c:742
|
||||
msgid "cannot use cursor positioning when watching file descriptors"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:749
|
||||
#: src/main/options.c:751
|
||||
msgid "cannot use remote control when watching file descriptors"
|
||||
msgstr "удалённое управление невозможно при отслеживании дескрипторов файлов"
|
||||
|
||||
#: src/main/options.c:758
|
||||
#: src/main/options.c:760
|
||||
msgid "cannot transfer files when watching file descriptors"
|
||||
msgstr "передача файлов невозможна при отслеживании дескрипторов файлов"
|
||||
|
||||
#: src/main/options.c:773
|
||||
#: src/main/options.c:775
|
||||
msgid "not available on systems without /proc/self/fdinfo"
|
||||
msgstr "невозможно на системах без /proc/self/fdinfo"
|
||||
|
||||
@@ -420,7 +420,7 @@ msgstr ""
|
||||
msgid "yzafpnum KMGTPEZY"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:1067 src/pv/transfer.c:1056
|
||||
#: src/pv/display.c:989 src/pv/transfer.c:1057
|
||||
msgid "buffer allocation failed"
|
||||
msgstr "не удалось выделить память для буфера"
|
||||
|
||||
@@ -452,26 +452,26 @@ msgstr "(нет)"
|
||||
msgid "(stdin)"
|
||||
msgstr "(стд. ввод)"
|
||||
|
||||
#: src/pv/format/averagerate.c:30 src/pv/format/progressbar.c:93
|
||||
#: src/pv/format/rate.c:32 src/pv/loop.c:551
|
||||
#: src/pv/format/averagerate.c:34 src/pv/format/progressbar.c:93
|
||||
#: src/pv/format/rate.c:37 src/pv/loop.c:562
|
||||
msgid "b/s"
|
||||
msgstr "бит/с"
|
||||
|
||||
#: src/pv/format/averagerate.c:34 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:36
|
||||
#: src/pv/format/averagerate.c:38 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:41
|
||||
msgid "/s"
|
||||
msgstr "/с"
|
||||
|
||||
#: src/pv/format/averagerate.c:34 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:36 src/pv/loop.c:551
|
||||
#: src/pv/format/averagerate.c:38 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:41 src/pv/loop.c:562
|
||||
msgid "B/s"
|
||||
msgstr "байт/с"
|
||||
|
||||
#: src/pv/format/bytes.c:31
|
||||
#: src/pv/format/bytes.c:37
|
||||
msgid "b"
|
||||
msgstr "бит"
|
||||
|
||||
#: src/pv/format/bytes.c:35 src/pv/transfer.c:594
|
||||
#: src/pv/format/bytes.c:41 src/pv/transfer.c:594
|
||||
msgid "B"
|
||||
msgstr "байт"
|
||||
|
||||
@@ -483,15 +483,15 @@ msgstr "ОЖИД"
|
||||
msgid "FIN"
|
||||
msgstr "ЗАВЕРШ"
|
||||
|
||||
#: src/pv/loop.c:550
|
||||
#: src/pv/loop.c:561
|
||||
msgid "rate min/avg/max/mdev"
|
||||
msgstr "скор. мин/сред/макс/дев"
|
||||
|
||||
#: src/pv/loop.c:562
|
||||
#: src/pv/loop.c:573
|
||||
msgid "rate not measured"
|
||||
msgstr "скорость не изменяется"
|
||||
|
||||
#: src/pv/loop.c:772 src/pv/loop.c:823 src/pv/loop.c:876 src/pv/watchpid.c:99
|
||||
#: src/pv/loop.c:783 src/pv/loop.c:834 src/pv/loop.c:887 src/pv/watchpid.c:99
|
||||
#: src/pv/watchpid.c:109 src/pv/watchpid.c:120 src/pv/watchpid.c:128
|
||||
#: src/pv/watchpid.c:165 src/pv/watchpid.c:184 src/pv/watchpid.c:192
|
||||
#: src/pv/watchpid.c:202 src/pv/watchpid.c:300 src/pv/watchpid.c:308
|
||||
@@ -503,7 +503,7 @@ msgstr "ИДпр"
|
||||
msgid "history structure allocation failed"
|
||||
msgstr "не удалось выделить память для структуры истории"
|
||||
|
||||
#: src/pv/state.c:593 src/pv/state.c:604
|
||||
#: src/pv/state.c:617 src/pv/state.c:628
|
||||
msgid "file list allocation failed"
|
||||
msgstr "не удалось выделить память для списка файлов"
|
||||
|
||||
@@ -543,11 +543,11 @@ msgstr "не удалось очистить измеритель временн
|
||||
msgid "line position buffer allocation failed"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/transfer.c:917
|
||||
#: src/pv/transfer.c:918
|
||||
msgid "write failed"
|
||||
msgstr "запись не удалась"
|
||||
|
||||
#: src/pv/transfer.c:1154
|
||||
#: src/pv/transfer.c:1159
|
||||
msgid "select call failed"
|
||||
msgstr "запрос выборки не удался"
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: pv 1.8.14\n"
|
||||
"Report-Msgid-Bugs-To: pv@ivarch.com\n"
|
||||
"POT-Creation-Date: 2025-01-11 20:59+0000\n"
|
||||
"Report-Msgid-Bugs-To: https://codeberg.org/ivarch/pv/issues\n"
|
||||
"POT-Creation-Date: 2025-07-26 14:50+0100\n"
|
||||
"PO-Revision-Date: 2024-10-12 23:51+0000\n"
|
||||
"Last-Translator: a-j-wood <a-j-wood@users.noreply.translate.codeberg.org>\n"
|
||||
"Language-Team: Turkish <https://translate.codeberg.org/projects/pv/pv/tr/>\n"
|
||||
@@ -286,69 +286,69 @@ msgstr "(giriş)"
|
||||
msgid "state allocation failed"
|
||||
msgstr "durum tahsisi başarısız oldu"
|
||||
|
||||
#: src/main/options.c:144 src/pv/file.c:324
|
||||
#: src/main/options.c:146 src/pv/file.c:324
|
||||
msgid "failed to stat file"
|
||||
msgstr "dosya statüsünde başarısız oldu"
|
||||
|
||||
#: src/main/options.c:158
|
||||
#: src/main/options.c:160
|
||||
msgid "is a directory"
|
||||
msgstr "bir dizindir"
|
||||
|
||||
#: src/main/options.c:187
|
||||
#: src/main/options.c:189
|
||||
msgid "failed to generate sysfs filename"
|
||||
msgstr "sysfs dosya adı oluşturulamadı"
|
||||
|
||||
#: src/main/options.c:209
|
||||
#: src/main/options.c:211
|
||||
msgid "failed to read sysfs size file"
|
||||
msgstr "sysfs boyut dosyası okunamadı"
|
||||
|
||||
#: src/main/options.c:229
|
||||
#: src/main/options.c:231
|
||||
msgid "failed to open block device"
|
||||
msgstr "blok aygıtı açılamadı"
|
||||
|
||||
#: src/main/options.c:239
|
||||
#: src/main/options.c:241
|
||||
msgid "failed to determine size of block device"
|
||||
msgstr "blok aygıtının boyutu belirlenemedi"
|
||||
|
||||
#: src/main/options.c:345
|
||||
#: src/main/options.c:347
|
||||
msgid "option structure allocation failed"
|
||||
msgstr "seçenek yapısı tahsisi başarısız oldu"
|
||||
|
||||
#: src/main/options.c:364
|
||||
#: src/main/options.c:366
|
||||
msgid "option structure argv allocation failed"
|
||||
msgstr "seçenek yapısı argv tahsisi başarısız oldu"
|
||||
|
||||
#: src/main/options.c:417
|
||||
#: src/main/options.c:419
|
||||
msgid "numeric value not understood"
|
||||
msgstr ""
|
||||
|
||||
#: src/main/options.c:435
|
||||
#: src/main/options.c:437
|
||||
msgid "integer argument expected"
|
||||
msgstr "tamsayı bağımsız değişkeni bekleniyor"
|
||||
|
||||
#: src/main/options.c:447
|
||||
#: src/main/options.c:449
|
||||
msgid "numeric argument expected"
|
||||
msgstr "sayısal bağımsız değişken bekleniyor"
|
||||
|
||||
#: src/main/options.c:458
|
||||
#: src/main/options.c:460
|
||||
msgid "process ID or pid:fd pair expected"
|
||||
msgstr "süreç kimliği (ID) veya pid:fd çifti bekleniyor"
|
||||
|
||||
#: src/main/options.c:465
|
||||
#: src/main/options.c:467
|
||||
msgid "invalid process ID"
|
||||
msgstr "geçersiz süreç kimliği (ID)"
|
||||
|
||||
#: src/main/options.c:698
|
||||
#: src/main/options.c:700
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information."
|
||||
msgstr "Daha fazla bilgi için `%s --help' seçeneğini deneyin."
|
||||
|
||||
#: src/main/options.c:700
|
||||
#: src/main/options.c:702
|
||||
#, c-format
|
||||
msgid "Try `%s -h' for more information."
|
||||
msgstr "Daha fazla bilgi için `%s -h' seçeneğini deneyin."
|
||||
|
||||
#: src/main/options.c:731
|
||||
#: src/main/options.c:733
|
||||
msgid ""
|
||||
"cannot use line mode or transfer modifier options when watching file "
|
||||
"descriptors"
|
||||
@@ -356,19 +356,19 @@ msgstr ""
|
||||
"dosya tanımlayıcılarını izlerken satır modu veya aktarım değiştirici "
|
||||
"seçeneklerini kullanamaz"
|
||||
|
||||
#: src/main/options.c:740
|
||||
#: src/main/options.c:742
|
||||
msgid "cannot use cursor positioning when watching file descriptors"
|
||||
msgstr "dosya tanımlayıcılarını izlerken imleç konumlandırmayı kullanamaz"
|
||||
|
||||
#: src/main/options.c:749
|
||||
#: src/main/options.c:751
|
||||
msgid "cannot use remote control when watching file descriptors"
|
||||
msgstr "dosya tanımlayıcılarını izlerken uzaktan kumandayı kullanamaz"
|
||||
|
||||
#: src/main/options.c:758
|
||||
#: src/main/options.c:760
|
||||
msgid "cannot transfer files when watching file descriptors"
|
||||
msgstr "dosya tanımlayıcıları izlenirken dosya aktarılamıyor"
|
||||
|
||||
#: src/main/options.c:773
|
||||
#: src/main/options.c:775
|
||||
msgid "not available on systems without /proc/self/fdinfo"
|
||||
msgstr "/proc/self/fdinfo olmayan sistemlerde kullanılamaz"
|
||||
|
||||
@@ -421,7 +421,7 @@ msgstr "yzafpnum kMGTPEZY"
|
||||
msgid "yzafpnum KMGTPEZY"
|
||||
msgstr "yzafpnum KMGTPEZY"
|
||||
|
||||
#: src/pv/display.c:1067 src/pv/transfer.c:1056
|
||||
#: src/pv/display.c:989 src/pv/transfer.c:1057
|
||||
msgid "buffer allocation failed"
|
||||
msgstr "arabellek tahsisi başarısız oldu"
|
||||
|
||||
@@ -453,26 +453,26 @@ msgstr "(yok)"
|
||||
msgid "(stdin)"
|
||||
msgstr "(stdin)"
|
||||
|
||||
#: src/pv/format/averagerate.c:30 src/pv/format/progressbar.c:93
|
||||
#: src/pv/format/rate.c:32 src/pv/loop.c:551
|
||||
#: src/pv/format/averagerate.c:34 src/pv/format/progressbar.c:93
|
||||
#: src/pv/format/rate.c:37 src/pv/loop.c:562
|
||||
msgid "b/s"
|
||||
msgstr "b/s"
|
||||
|
||||
#: src/pv/format/averagerate.c:34 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:36
|
||||
#: src/pv/format/averagerate.c:38 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:41
|
||||
msgid "/s"
|
||||
msgstr "/s"
|
||||
|
||||
#: src/pv/format/averagerate.c:34 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:36 src/pv/loop.c:551
|
||||
#: src/pv/format/averagerate.c:38 src/pv/format/progressbar.c:97
|
||||
#: src/pv/format/rate.c:41 src/pv/loop.c:562
|
||||
msgid "B/s"
|
||||
msgstr "B/s"
|
||||
|
||||
#: src/pv/format/bytes.c:31
|
||||
#: src/pv/format/bytes.c:37
|
||||
msgid "b"
|
||||
msgstr "b"
|
||||
|
||||
#: src/pv/format/bytes.c:35 src/pv/transfer.c:594
|
||||
#: src/pv/format/bytes.c:41 src/pv/transfer.c:594
|
||||
msgid "B"
|
||||
msgstr "B"
|
||||
|
||||
@@ -484,15 +484,15 @@ msgstr "ETA"
|
||||
msgid "FIN"
|
||||
msgstr "FIN"
|
||||
|
||||
#: src/pv/loop.c:550
|
||||
#: src/pv/loop.c:561
|
||||
msgid "rate min/avg/max/mdev"
|
||||
msgstr "oran min/ortalama/maks/standart sapma"
|
||||
|
||||
#: src/pv/loop.c:562
|
||||
#: src/pv/loop.c:573
|
||||
msgid "rate not measured"
|
||||
msgstr "oran ölçülmedi"
|
||||
|
||||
#: src/pv/loop.c:772 src/pv/loop.c:823 src/pv/loop.c:876 src/pv/watchpid.c:99
|
||||
#: src/pv/loop.c:783 src/pv/loop.c:834 src/pv/loop.c:887 src/pv/watchpid.c:99
|
||||
#: src/pv/watchpid.c:109 src/pv/watchpid.c:120 src/pv/watchpid.c:128
|
||||
#: src/pv/watchpid.c:165 src/pv/watchpid.c:184 src/pv/watchpid.c:192
|
||||
#: src/pv/watchpid.c:202 src/pv/watchpid.c:300 src/pv/watchpid.c:308
|
||||
@@ -504,7 +504,7 @@ msgstr "pid"
|
||||
msgid "history structure allocation failed"
|
||||
msgstr "geçmiş yapısı tahsisi başarısız oldu"
|
||||
|
||||
#: src/pv/state.c:593 src/pv/state.c:604
|
||||
#: src/pv/state.c:617 src/pv/state.c:628
|
||||
msgid "file list allocation failed"
|
||||
msgstr "dosya listesi tahsisi başarısız oldu"
|
||||
|
||||
@@ -544,11 +544,11 @@ msgstr "aralık zamanlayıcısı temizlenemedi"
|
||||
msgid "line position buffer allocation failed"
|
||||
msgstr "satır konumu arabellek tahsisi başarısız oldu"
|
||||
|
||||
#: src/pv/transfer.c:917
|
||||
#: src/pv/transfer.c:918
|
||||
msgid "write failed"
|
||||
msgstr "yazma başarısız"
|
||||
|
||||
#: src/pv/transfer.c:1154
|
||||
#: src/pv/transfer.c:1159
|
||||
msgid "select call failed"
|
||||
msgstr "seçme çağrısı başarısız oldu"
|
||||
|
||||
|
||||
@@ -57,6 +57,8 @@ void opts_free( /*@only@ */ opts_t opts)
|
||||
free(opts->pidfile);
|
||||
if (NULL != opts->output)
|
||||
free(opts->output);
|
||||
if (NULL != opts->default_bar_style)
|
||||
free(opts->default_bar_style);
|
||||
if (NULL != opts->store_and_forward_file)
|
||||
free(opts->store_and_forward_file);
|
||||
if (NULL != opts->extra_display)
|
||||
|
||||
+1
-85
@@ -470,84 +470,6 @@ pvdisplay_bytecount_t pv_formatter_segmentcontent(char *content, pvformatter_arg
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Populate the display buffer for numeric-output mode.
|
||||
*
|
||||
* Called by pv_format() and has the same semantics.
|
||||
*
|
||||
* In numeric output mode, our output is just the percentage completion, as
|
||||
* a number by itself.
|
||||
*
|
||||
* With --timer, we prefix the output with the elapsed time.
|
||||
*
|
||||
* With --bytes, we output the bytes transferred so far instead of the
|
||||
* percentage (or we output the number lines transferred, if --lines was
|
||||
* given with --bytes).
|
||||
*
|
||||
* If --rate was given, we output the current transfer rate instead of the
|
||||
* percentage. With --bytes as well, the rate is given after the
|
||||
* bytes/lines.
|
||||
*/
|
||||
static bool pv__format_numeric(pvstate_t state, pvdisplay_t display)
|
||||
{
|
||||
char msg_timer[128]; /* flawfinder: ignore */
|
||||
char msg_bytes[128]; /* flawfinder: ignore */
|
||||
char msg_rate[128]; /* flawfinder: ignore */
|
||||
char msg_percent[128]; /* flawfinder: ignore */
|
||||
bool first_item, show_percentage;
|
||||
|
||||
/* flawfinder: each buffer is kept safe by pv_snprintf(). */
|
||||
|
||||
if (NULL == display->display_buffer)
|
||||
return false;
|
||||
|
||||
first_item = true;
|
||||
show_percentage = true;
|
||||
|
||||
msg_timer[0] = '\0';
|
||||
if (display->showing_timer) {
|
||||
(void) pv_snprintf(msg_timer, sizeof(msg_timer), "%s%.4Lf", first_item ? "" : " ",
|
||||
state->transfer.elapsed_seconds);
|
||||
first_item = false;
|
||||
}
|
||||
|
||||
msg_bytes[0] = '\0';
|
||||
if (display->showing_bytes) {
|
||||
(void) pv_snprintf(msg_bytes, sizeof(msg_bytes),
|
||||
"%s%lld", first_item ? "" : " ",
|
||||
(long long) ((state->control.bits ? 8 : 1) * state->transfer.transferred));
|
||||
first_item = false;
|
||||
show_percentage = false;
|
||||
}
|
||||
|
||||
msg_rate[0] = '\0';
|
||||
if (display->showing_rate) {
|
||||
(void) pv_snprintf(msg_rate, sizeof(msg_rate),
|
||||
"%s%.4Lf", first_item ? "" : " ",
|
||||
((state->control.bits ? 8.0 : 1.0) * state->calc.transfer_rate));
|
||||
first_item = false;
|
||||
show_percentage = false;
|
||||
}
|
||||
|
||||
msg_percent[0] = '\0';
|
||||
if (show_percentage) {
|
||||
(void) pv_snprintf(msg_percent, sizeof(msg_percent),
|
||||
"%s%.0f", first_item ? "" : " ", state->calc.percentage);
|
||||
first_item = false;
|
||||
}
|
||||
|
||||
(void) pv_snprintf(display->display_buffer,
|
||||
display->display_buffer_size, "%.39s%.39s%.39s%.39s\n", msg_timer, msg_bytes,
|
||||
msg_rate, msg_percent);
|
||||
|
||||
display->display_string_bytes = strlen(display->display_buffer); /* flawfinder: ignore */
|
||||
/* flawfinder: always \0 terminated by pv_snprintf(). */
|
||||
display->display_string_width = display->display_string_bytes;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Format sequence lookup table.
|
||||
*/
|
||||
@@ -1075,13 +997,6 @@ bool pv_format(pvstate_t state, /*@null@ */ const char *format_supplied, pvdispl
|
||||
display->display_buffer[0] = '\0';
|
||||
}
|
||||
|
||||
/*
|
||||
* Use the numeric mode function if we're in numeric mode.
|
||||
*/
|
||||
if (state->control.numeric) {
|
||||
return pv__format_numeric(state, display);
|
||||
}
|
||||
|
||||
/* Clear the SGR active codes flag, for the SGR formatter. */
|
||||
display->sgr_code_active = false;
|
||||
|
||||
@@ -1310,6 +1225,7 @@ void pv_display(pvstate_t state, bool final)
|
||||
|
||||
if (state->control.numeric) {
|
||||
pv_tty_write(state, state->display.display_buffer, state->display.display_string_bytes);
|
||||
pv_tty_write(state, "\n", 1);
|
||||
} else if (state->control.cursor) {
|
||||
if (state->control.force || pv_in_foreground()) {
|
||||
pv_crs_update(state, state->display.display_buffer);
|
||||
|
||||
@@ -24,7 +24,11 @@ pvdisplay_bytecount_t pv_formatter_average_rate(pvformatter_args_t args)
|
||||
return 0;
|
||||
|
||||
/*@-mustfreefresh@ */
|
||||
if (args->state->control.bits && !args->state->control.linemode) {
|
||||
if (args->state->control.numeric) {
|
||||
/* numeric - raw value without suffix. */
|
||||
(void) pv_snprintf(content, sizeof(content),
|
||||
"%.4Lf", ((args->state->control.bits ? 8.0 : 1.0) * args->state->calc.average_rate));
|
||||
} else if (args->state->control.bits && !args->state->control.linemode) {
|
||||
/* bits per second */
|
||||
pv_describe_amount(content, sizeof(content),
|
||||
"(%s)", 8 * args->state->calc.average_rate, "", _("b/s"), args->display->count_type);
|
||||
|
||||
@@ -20,13 +20,19 @@ pvdisplay_bytecount_t pv_formatter_bytes(pvformatter_args_t args)
|
||||
|
||||
args->display->showing_bytes = true;
|
||||
|
||||
content[0] = '\0';
|
||||
|
||||
if (0 == args->buffer_size)
|
||||
return 0;
|
||||
|
||||
content[0] = '\0';
|
||||
|
||||
/*@-mustfreefresh@ */
|
||||
if (args->state->control.bits && !args->state->control.linemode) {
|
||||
if (args->state->control.numeric) {
|
||||
/* Numeric mode - raw values only, no suffix. */
|
||||
(void) pv_snprintf(content, sizeof(content),
|
||||
"%lld",
|
||||
(long long) ((args->state->control.bits ? 8 : 1) *
|
||||
args->state->transfer.transferred));
|
||||
} else if (args->state->control.bits && !args->state->control.linemode) {
|
||||
pv_describe_amount(content, sizeof(content), "%s",
|
||||
(long double) (args->state->transfer.transferred * 8), "", _("b"),
|
||||
args->display->count_type);
|
||||
|
||||
@@ -388,12 +388,17 @@ pvdisplay_bytecount_t pv_formatter_progress_amount_only(pvformatter_args_t args)
|
||||
char content[256]; /* flawfinder: ignore - always bounded */
|
||||
pvdisplay_bytecount_t bytes;
|
||||
|
||||
content[0] = '\0';
|
||||
memset(content, 0, sizeof(content));
|
||||
|
||||
if (0 == args->buffer_size)
|
||||
return 0;
|
||||
|
||||
if (args->state->control.size > 0 || args->state->control.rate_gauge) {
|
||||
if (args->state->control.numeric) {
|
||||
/* Numeric mode - percentage as a rounded integer with no suffix. */
|
||||
(void) pv_snprintf(content, sizeof(content), "%.0f", args->state->calc.percentage);
|
||||
bytes = strlen(content); /* flawfinder: ignore */
|
||||
/* flawfinder: always \0-terminated by pv_snprintf() and the earlier memset(). */
|
||||
} else if (args->state->control.size > 0 || args->state->control.rate_gauge) {
|
||||
/* Known size or rate gauge - percentage or rate. */
|
||||
bytes = pv_formatter_progress_knownsize(args, content, sizeof(content), false, false, true);
|
||||
} else {
|
||||
|
||||
@@ -26,7 +26,12 @@ pvdisplay_bytecount_t pv_formatter_rate(pvformatter_args_t args)
|
||||
return 0;
|
||||
|
||||
/*@-mustfreefresh@ */
|
||||
if (args->state->control.bits && !args->state->control.linemode) {
|
||||
if (args->state->control.numeric) {
|
||||
/* numeric - raw value without suffix. */
|
||||
(void) pv_snprintf(content, sizeof(content),
|
||||
"%.4Lf",
|
||||
((args->state->control.bits ? 8.0 : 1.0) * args->state->calc.transfer_rate));
|
||||
} else if (args->state->control.bits && !args->state->control.linemode) {
|
||||
/* bits per second */
|
||||
pv_describe_amount(content, sizeof(content), "[%s]",
|
||||
8 * args->state->calc.transfer_rate, "", _("b/s"), args->display->count_type);
|
||||
|
||||
@@ -37,11 +37,14 @@ pvdisplay_bytecount_t pv_formatter_timer(pvformatter_args_t args)
|
||||
if (args->state->transfer.elapsed_seconds < 0.0)
|
||||
args->state->transfer.elapsed_seconds = 0.0;
|
||||
|
||||
/*
|
||||
* If the elapsed time is more than a day, include a day count as
|
||||
* well as hours, minutes, and seconds.
|
||||
*/
|
||||
if (args->state->transfer.elapsed_seconds > (long double) 86400.0L) {
|
||||
if (args->state->control.numeric) {
|
||||
/* Numeric mode - show the number of seconds, unformatted. */
|
||||
(void) pv_snprintf(content, sizeof(content), "%.4Lf", args->state->transfer.elapsed_seconds);
|
||||
} else if (args->state->transfer.elapsed_seconds > (long double) 86400.0L) {
|
||||
/*
|
||||
* If the elapsed time is more than a day, include a day count as
|
||||
* well as hours, minutes, and seconds.
|
||||
*/
|
||||
(void) pv_snprintf(content,
|
||||
sizeof(content),
|
||||
"%ld:%02ld:%02ld:%02ld",
|
||||
|
||||
@@ -400,6 +400,17 @@ int pv_main_loop(pvstate_t state)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* If we've read everything and written everything, and the
|
||||
* output pipe buffer is NOT empty, then pause a short while
|
||||
* so we don't spin in a tight loop waiting for the output
|
||||
* buffer to empty (#164).
|
||||
*/
|
||||
if (eof_in && eof_out && state->transfer.written_but_not_consumed > 0) {
|
||||
debug("%s", "EOF but bytes remain in output pipe - sleeping");
|
||||
pv_nanosleep(50000000);
|
||||
}
|
||||
|
||||
/*
|
||||
* Just go round the loop again if there's no display and
|
||||
* we're not reporting statistics.
|
||||
|
||||
+41
-17
@@ -263,35 +263,59 @@ void pv_state_set_format(pvstate_t state, bool progress, bool timer, bool eta, b
|
||||
}
|
||||
|
||||
state->control.default_format[0] = '\0';
|
||||
PV_ADDFORMAT(name, "%N");
|
||||
PV_ADDFORMAT(bytes, "%b");
|
||||
PV_ADDFORMAT(bufpercent, "%T");
|
||||
PV_ADDFORMAT(timer, "%t");
|
||||
PV_ADDFORMAT(rate, "%r");
|
||||
PV_ADDFORMAT(average_rate, "%a");
|
||||
PV_ADDFORMAT(progress, "%p");
|
||||
PV_ADDFORMAT(eta, "%e");
|
||||
PV_ADDFORMAT(fineta, "%I");
|
||||
if (lastwritten > 0) {
|
||||
char buf[16]; /* flawfinder: ignore */
|
||||
memset(buf, 0, sizeof(buf));
|
||||
(void) pv_snprintf(buf, sizeof(buf), "%%%uA", (unsigned int) lastwritten);
|
||||
PV_ADDFORMAT(lastwritten > 0, buf);
|
||||
|
||||
if (false == state->control.numeric) {
|
||||
/* Standard progress display mode (without "--numeric"). */
|
||||
|
||||
/*
|
||||
* flawfinder rationale: large enough for string, zeroed
|
||||
* before use, only written to by pv_snprintf() with the
|
||||
* right buffer length.
|
||||
* Add the format strings for the enabled options in a
|
||||
* standard order.
|
||||
*/
|
||||
PV_ADDFORMAT(name, "%N");
|
||||
PV_ADDFORMAT(bytes, "%b");
|
||||
PV_ADDFORMAT(bufpercent, "%T");
|
||||
PV_ADDFORMAT(timer, "%t");
|
||||
PV_ADDFORMAT(rate, "%r");
|
||||
PV_ADDFORMAT(average_rate, "%a");
|
||||
PV_ADDFORMAT(progress, "%p");
|
||||
PV_ADDFORMAT(eta, "%e");
|
||||
PV_ADDFORMAT(fineta, "%I");
|
||||
|
||||
if (lastwritten > 0) {
|
||||
char buf[16]; /* flawfinder: ignore */
|
||||
memset(buf, 0, sizeof(buf));
|
||||
(void) pv_snprintf(buf, sizeof(buf), "%%%uA", (unsigned int) lastwritten);
|
||||
PV_ADDFORMAT(lastwritten > 0, buf);
|
||||
/*
|
||||
* flawfinder rationale: large enough for string,
|
||||
* zeroed before use, only written to by
|
||||
* pv_snprintf() with the right buffer length.
|
||||
*/
|
||||
}
|
||||
|
||||
} else {
|
||||
/* Numeric mode has different behaviour. */
|
||||
|
||||
PV_ADDFORMAT(timer, "%t");
|
||||
PV_ADDFORMAT(bytes, "%b");
|
||||
PV_ADDFORMAT(rate, "%r");
|
||||
PV_ADDFORMAT(!(bytes || rate), "%{progress-amount-only}");
|
||||
|
||||
}
|
||||
|
||||
debug("%s: [%s]", "default format set", state->control.default_format);
|
||||
|
||||
/* Free any previously set name. */
|
||||
if (NULL != state->control.name) {
|
||||
free(state->control.name);
|
||||
state->control.name = NULL;
|
||||
}
|
||||
|
||||
/* Set a new name if one was given. */
|
||||
if (NULL != name)
|
||||
state->control.name = pv_strdup(name);
|
||||
|
||||
/* Tell pv_format() that the format has changed. */
|
||||
state->flag.reparse_display = 1;
|
||||
}
|
||||
|
||||
|
||||
+22
-5
@@ -185,7 +185,7 @@ static ssize_t pv__transfer_read_repeated(int fd, char *buf, size_t count)
|
||||
* not guaranteed to succeed for _all_ sizes; we may end up returning 0 if this
|
||||
* occurs. (The first write() may return -1 / EINTR if the consumer doesn't
|
||||
* read any data before our timeout and the buffer of whatever stdout is is
|
||||
* near-full.) (see https://codeberg.org/a-j-wood/pv/pulls/93)
|
||||
* near-full.) (see https://codeberg.org/ivarch/pv/pulls/93)
|
||||
*
|
||||
* If "sync_after_write" is true, we call fdatasync() after each write() (or
|
||||
* fsync() if _POSIX_SYNCHRONIZED_IO is not > 0).
|
||||
@@ -911,6 +911,7 @@ static int pv__transfer_write(pvstate_t state, bool *eof_in, bool *eof_out, long
|
||||
*eof_in = true;
|
||||
*eof_out = true;
|
||||
state->flag.pipe_closed = 1;
|
||||
debug("%s", "SIGPIPE received - setting pipe_closed");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1101,8 +1102,10 @@ ssize_t pv_transfer(pvstate_t state, int fd, bool *eof_in, bool *eof_out, off_t
|
||||
if ((state->control.linemode) && (lineswritten != NULL))
|
||||
*lineswritten = 0;
|
||||
|
||||
if ((*eof_in) && (*eof_out))
|
||||
if ((*eof_in) && (*eof_out)) {
|
||||
debug("%s %d: %s", "fd", fd, "early return 0 - EOF in and out");
|
||||
return 0;
|
||||
}
|
||||
|
||||
check_read_fd = -1;
|
||||
check_write_fd = -1;
|
||||
@@ -1144,8 +1147,10 @@ ssize_t pv_transfer(pvstate_t state, int fd, bool *eof_in, bool *eof_out, off_t
|
||||
/*
|
||||
* Ignore transient errors by returning 0 immediately.
|
||||
*/
|
||||
if (EINTR == errno)
|
||||
if (EINTR == errno) {
|
||||
debug("%s %d: %s", "fd", fd, "early return 0 - is_data_ready < 0");
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Any other error is a problem and we must report back.
|
||||
@@ -1170,8 +1175,12 @@ ssize_t pv_transfer(pvstate_t state, int fd, bool *eof_in, bool *eof_out, off_t
|
||||
* NB this can update state->transfer.written because of splice().
|
||||
*/
|
||||
if (ready_to_read) {
|
||||
if (pv__transfer_read(state, fd, eof_in, eof_out, allowed) == 0)
|
||||
if (pv__transfer_read(state, fd, eof_in, eof_out, allowed) == 0) {
|
||||
debug("%s %d: %s (%s=%s, %s=%s, %s=%lu)", "fd", fd,
|
||||
"early return 0 - pv__transfer_read returned 0", "eof_in", eof_in ? "true" : "false",
|
||||
"eof_out", eof_out ? "true" : "false", "allowed", (unsigned long) allowed);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1202,8 +1211,12 @@ ssize_t pv_transfer(pvstate_t state, int fd, bool *eof_in, bool *eof_out, off_t
|
||||
&& (state->transfer.read_position > state->transfer.write_position)
|
||||
&& (state->transfer.to_write > 0)
|
||||
&& (NULL != lineswritten)) {
|
||||
if (pv__transfer_write(state, eof_in, eof_out, lineswritten) == 0)
|
||||
if (pv__transfer_write(state, eof_in, eof_out, lineswritten) == 0) {
|
||||
debug("%s %d: %s (%s=%s, %s=%s, %s=%lu)", "fd", fd,
|
||||
"early return 0 - pv__transfer_write returned 0", "eof_in", eof_in ? "true" : "false",
|
||||
"eof_out", eof_out ? "true" : "false", "lineswritten", (unsigned long) lineswritten);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
#ifdef MAXIMISE_BUFFER_FILL
|
||||
/*
|
||||
@@ -1225,5 +1238,9 @@ ssize_t pv_transfer(pvstate_t state, int fd, bool *eof_in, bool *eof_out, off_t
|
||||
}
|
||||
#endif /* MAXIMISE_BUFFER_FILL */
|
||||
|
||||
if (0 == state->transfer.written) {
|
||||
debug("%s %d: %s", "fd", fd, "end-of-function return 0 - transfer.written is zero");
|
||||
}
|
||||
|
||||
return state->transfer.written;
|
||||
}
|
||||
|
||||
@@ -490,6 +490,7 @@ int pv_watchpid_scanfds(pvstate_t state,
|
||||
info_array[use_idx].state->control.name = NULL;
|
||||
info_array[use_idx].state->control.format_string = NULL;
|
||||
info_array[use_idx].state->control.output_name = NULL;
|
||||
info_array[use_idx].state->control.default_bar_style = NULL;
|
||||
/*@+mustfreeonly@ */
|
||||
info_array[use_idx].state->control.default_format[0] = '\0';
|
||||
use_format_string =
|
||||
@@ -498,6 +499,13 @@ int pv_watchpid_scanfds(pvstate_t state,
|
||||
(void) pv_snprintf(info_array[use_idx].state->control.default_format, PV_SIZEOF_DEFAULT_FORMAT,
|
||||
"%.510s", use_format_string);
|
||||
|
||||
/*
|
||||
* Duplicate the default bar style string, if there is one.
|
||||
*/
|
||||
if (NULL != state->control.default_bar_style) {
|
||||
pv_state_default_bar_style_set(info_array[use_idx].state, state->control.default_bar_style);
|
||||
}
|
||||
|
||||
/*
|
||||
* Copy over all the display values, blanking out the
|
||||
* dynamically allocated parts as above; then set the
|
||||
|
||||
@@ -29,8 +29,20 @@ if ! test -n "${testInstallDir}"; then
|
||||
fi
|
||||
|
||||
export DESTDIR="${testInstallDir}"
|
||||
if ! ${makeCommand} -C "${makeDir}" install DESTDIR="${testInstallDir}" >"${workFile1}" 2>&1; then
|
||||
echo "\`make install' exited $?"
|
||||
${makeCommand} -C "${makeDir}" install DESTDIR="${testInstallDir}" >"${workFile1}" 2>&1
|
||||
rc=$?
|
||||
if ! test "${rc}" -eq 0; then
|
||||
if ! test "${makeCommand}" = "make"; then
|
||||
# Retry with plain "make".
|
||||
makeCommand="make"
|
||||
${makeCommand} -C "${makeDir}" install DESTDIR="${testInstallDir}" >>"${workFile1}" 2>&1
|
||||
rc=$?
|
||||
fi
|
||||
fi
|
||||
if ! test ${rc} -eq 0; then
|
||||
echo "\`make install' exited ${rc}"
|
||||
echo "command: ${makeCommand} -C '${makeDir}' install DESTDIR='${testInstallDir}'"
|
||||
cat "${workFile1}"
|
||||
rm -rf "${testInstallDir}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -18,8 +18,11 @@ seq -w 3 1 100 \
|
||||
differentLines=$(tr '\r' '\n' < "${workFile1}" | sed '/^ *$/d' | sort | uniq | wc -l | tr -dc '0-9')
|
||||
lastLine=$(tr '\r' '\n' < "${workFile1}" | sed '/^ *$/d' | sed -n '$p')
|
||||
|
||||
if ! test "${differentLines}" -gt 5; then
|
||||
echo "fewer than 6 different outputs seen"
|
||||
# Even on very slow hosts, we should see at least 3 different output lines -
|
||||
# nothing at the start, something in the middle, and the last few numbers at
|
||||
# the end.
|
||||
if ! test "${differentLines}" -gt 2; then
|
||||
echo "fewer than 3 different outputs seen"
|
||||
tr '\r' '\n' < "${workFile1}" | sed '/^ *$/d' | sort | uniq
|
||||
exit 1
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user