{ "version": "https://jsonfeed.org/version/1.1", "user_comment": "This feed allows you to read the posts from this site in any feed reader that supports the JSON Feed format. To add this feed to your reader, copy the following URL -- https://matoken.org/blog/tag/gnu-coreutils/feed/json/ -- and add it your reader.", "home_page_url": "https://matoken.org/blog/tag/gnu-coreutils/", "feed_url": "https://matoken.org/blog/tag/gnu-coreutils/feed/json/", "language": "ja", "title": "GNU coreutils – matoken's blog", "description": "Is there no plan B?", "icon": "https://matoken.org/blog/wp-content/uploads/2025/03/cropped-1865f695c4eecc844385acef2f078255036adccd42c254580ea3844543ab56d9.jpeg", "items": [ { "id": "https://matoken.org/blog/?p=5219", "url": "https://matoken.org/blog/2026/02/06/gnu-coreutils-9-10-paste/", "title": "GNU coreutils 9.10\u3067paste\u306e\u30c7\u30ea\u30df\u30bf\u306b\u30de\u30eb\u30c1\u30d0\u30a4\u30c8\u6587\u5b57\u304c\u5229\u7528\u53ef\u80fd\u306b", "content_html": "
GNU coreutils 9.10 \u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u307e\u3057\u305f\uff0e
\npaste \u3067\u30de\u30eb\u30c1\u30d0\u30a4\u30c8\u6587\u5b57\u3092\u8a8d\u8b58\u3059\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u305d\u3046\u3067\u3059\uff0e\u307e\u3060\u5bfe\u5fdc\u3057\u3066\u3044\u306a\u304b\u3063\u305f\u3093\u3060\u3068\u3061\u3087\u3063\u3068\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e
\n\n\n\n\n\n
\n- \n
\npaste(1) is now multi-byte character aware
\n
\n
\u307e\u305a\u306f\u9069\u5f53\u306a\u30d5\u30a1\u30a4\u30eb\u3092\u7528\u610f\u3057\u307e\u3059\uff0e
\n$ echo '1\n2\n3' > num\n$ echo '\u3044\n\u308d\n\u306f' > data\n
GNU coreutils 9.7 \u306epaste \u3067\u8a66\u3059\u3068\u65e5\u672c\u8a9e\u306e\u30c7\u30fc\u30bf\u3082\u3046\u307e\u304f\u52d5\u3044\u3066\u3044\u305d\u3046\u3067\u3059\uff0e
\n$ paste --version | head -1\npaste (GNU coreutils) 9.7\n$ paste num data\n1 \u3044\n2 \u308d\n3 \u306f\n
NEWS \u306e\u4e0b\u306e\u65b9\u3092\u898b\u308b\u3068\u5c11\u3057\u8a73\u3057\u304f\u66f8\u3044\u3066\u3042\u308a\u307e\u3057\u305f\uff0e
\n\n\n\n\n\n\n'paste' now supports multi-byte --delimiters characters.\n
\u30c7\u30ea\u30df\u30bf\u306b\u30de\u30eb\u30c1\u30d0\u30a4\u30c8\u6587\u5b57\u304c\u4f7f\u3048\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u3088\u3046\u3067\u3059\uff0e
\n\u3068\u3044\u3046\u3053\u3068\u3067\u518d\u5ea6\uff0c\u4eca\u5ea6\u306f\u30c7\u30df\u30ea\u30bf\u3092\u6307\u5b9a\u3057\u307e\u3059\uff0e
\n, \u3092\u6307\u5b9a$ paste num data -d,\n1,\u3044\n2,\u308d\n3,\u306f\n
\uff1d \u3092\u6307\u5b9a$ paste num data -d\uff1d\n1\ufffd\ufffd\n2\ufffd\ufffd\n3\ufffd\ufffd\n
\u305f\u3057\u304b\u306b\u30de\u30eb\u30c1\u30d0\u30a4\u30c8\u6587\u5b57\u3092\u4f7f\u3046\u3068\u304a\u304b\u3057\u304f\u306a\u308a\u307e\u3059\uff0e
\n$ wget https://ftp.gnu.org/gnu/coreutils/coreutils-9.10.tar.xz \\\n\thttps://ftp.gnu.org/gnu/coreutils/coreutils-9.10.tar.xz.sig\n$ echo 'SHA256 (coreutils-9.10.tar.xz) = FlNamt8LEANzZOLWEqrT2fTso6NElJztdNEvr0vVHSU=' | cksum -a sha256 --check\ncoreutils-9.10.tar.xz: OK\n$ gpg --verify coreutils-9.10.tar.xz.sig\ngpg: assuming signed data in 'coreutils-9.10.tar.xz'\ngpg: Signature made Wed Feb 4 21:46:29 2026 JST\ngpg: using RSA key 6C37DC12121A5006BC1DB804DF6FD971306037D9\ngpg: Good signature from \"P draig Brady <P@draigBrady.com>\" [unknown]\ngpg: aka \"P draig Brady <pixelbeat@gnu.org>\" [unknown]\ngpg: WARNING: This key is not certified with a trusted signature!\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: 6C37 DC12 121A 5006 BC1D B804 DF6F D971 3060 37D9\n$ tar xvf coreutils-9.10.tar.xz\n$ cd coreutils-9.10\n$ sudo apt build-dep coreutils\n$ ./configure\n$ make\n$ src/paste --version | head -1\npaste (GNU coreutils) 9.10\n
$ ./src/paste num data -d\uff1d\n1\uff1d\u3044\n2\uff1d\u308d\n3\uff1d\u306f\n$ ./src/paste num data -d🐈\n1🐈\u3044\n2🐈\u308d\n3🐈\u306f\n
\u3068\u3044\u3046\u3053\u3068\u3067GNU coreutils 9.10 \u306epaste \u3067\u30c7\u30ea\u30df\u30bf\u306b\u30de\u30eb\u30c1\u30d0\u30a4\u30c8\u6587\u5b57\u304c\u4f7f\u3048\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u308b\u306e\u304c\u78ba\u8a8d\u3067\u304d\u307e\u3057\u305f\uff0e
\n\u4f7f\u3044\u9053\u306f\u3042\u307e\u308a\u6d6e\u304b\u3073\u307e\u305b\u3093\u304c\u2026\u2026\uff0e
$ dpkg-query -W coreutils\ncoreutils 9.7-3\n$ src/paste --version\npaste (GNU coreutils) 9.10\nCopyright (C) 2026 Free Software Foundation, Inc.\nLicense GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.\n\nWritten by David M. Ihnat and David MacKenzie.\n$ lsb_release -dr\nDescription: Debian GNU/Linux forky/sid\nRelease: n/a\n$ arch\nx86_64\n
\u6700\u8fd1\u77e5\u308a\u307e\u3057\u305f\uff0e
\n$ LC_MESSAGES=ja_JP.UTF-8 man cat | grep '\\-A' -A25\n -A, --show-all -vET \u3068\u540c\u3058\n\n -b, --number-nonblank\n \u7a7a\u884c\u4ee5\u5916\u306b\u884c\u756a\u53f7\u3092\u4ed8\u3051\u308b\u3002-n \u3088\u308a\u512a\u5148\u3055\u308c\u308b\n\n -e -vE \u3068\u540c\u3058\n\n -E, --show-ends\n \u884c\u306e\u6700\u5f8c\u306b $ \u3092\u4ed8\u3051\u308b\n\n -n, --number\n \u5168\u3066\u306e\u884c\u306b\u884c\u756a\u53f7\u3092\u4ed8\u3051\u308b\n\n -s, --squeeze-blank\n \u9023\u7d9a\u3057\u305f\u7a7a\u884c\u306e\u51fa\u529b\u3092\u884c\u308f\u306a\u3044\n\n -t -vT \u3068\u540c\u3058\n\n -T, --show-tabs\n TAB \u6587\u5b57\u3092 ^I \u3067\u8868\u793a\n\n -u (\u7121\u8996)\n\n -v, --show-nonprinting\n ^ \u3084 M- \u8868\u8a18\u3092\u4f7f\u7528\u3059\u308b (LFD \u3068 TAB \u306f\u9664\u304f)\n
$ LC_MESSAGES=C man cat | grep '\\-A' -A26\n -A, --show-all\n equivalent to -vET\n\n -b, --number-nonblank\n number nonempty output lines, overrides -n\n\n -e equivalent to -vE\n\n -E, --show-ends\n display $ at end of each line\n\n -n, --number\n number all output lines\n\n -s, --squeeze-blank\n suppress repeated empty output lines\n\n -t equivalent to -vT\n\n -T, --show-tabs\n display TAB characters as ^I\n\n -u (ignored)\n\n -v, --show-nonprinting\n use ^ and M- notation, except for LFD and TAB\n
$ echo 'hoge\n> fuga\n> ' | unix2dos > /tmp/test\n
$ od -xc /tmp/test\n0000000 6f68 6567 0a0d 6609 6775 0d61 0d0a 000a\n h o g e \\r \\n \\t f u g a \\r \\n \\r \\n\n0000017\n
$ cat /tmp/test\nhoge\n\tfuga\n
-T \u3067TAB\u3092 ^I \u3068\u3057\u3066\u8868\u793a$ cat -T /tmp/test\nhoge\n^Ifuga\n
-v \u3067\\n\u3084TAB\u3092\u9664\u304f\u5236\u5fa1\u30b3\u30fc\u30c9\u3092\u8868\u793a\u3053\u3053\u3067\u306f\\r\u304c^M\u3068\u3057\u3066\u8868\u793a\u3055\u308c\u3066\u3044\u308b$ cat -v /tmp/test\nhoge^M\n\tfuga^M\n^M\n
-t \u3067 -vT \u3068\u540c\u3058$ cat -t /tmp/test\nhoge^M\n^Ifuga^M\n^M\n
-E \u3067\u884c\u672b\u306b$\u3092\u8868\u793a\uff0e\\r\u304c\u3042\u308b\u3068\u982d\u306b\u4ed8\u3044\u3066\u3057\u307e\u3046\u3088\u3046$ cat -E /tmp/test\n$oge\n$\tfuga\n$\n
\n\n\n\n\n\n
\n\n \n\n\n \nNote\n\n\u8ffd\u8a18 2020-02-10) \n
\nDebian\u3067reportbug\u3057\u305f\u3089patch\u304c :)
\nDebian 11 Bullseye\u3084Ubuntu 21.04\u306b\u5165\u308b\u304b\u306a?
\nhttps://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=982208;filename=cat\u2014\u200bshow-ends.diff;msg=10
-A \u3067 -vET \u3068\u540c\u3058$ cat -A /tmp/test\nhoge^M$\n^Ifuga^M$\n^M$\n
-n \u3067\u884c\u756a\u53f7\u3092\u8868\u793a$ cat -n /tmp/test\n 1\thoge\n 2\t\tfuga\n 3\n
-An \u3067\u884c\u756a\u53f7\u3068\u8a18\u53f7$ cat -An /tmp/test\n 1\thoge^M$\n 2\t^Ifuga^M$\n 3\t^M$\n
vim\u3067\u306f :set list, :set number \u3067\u3060\u3044\u305f\u3044\u540c\u3058\u611f\u3058\u3067\u3057\u3087\u3046\u304b\uff0e
1 hoge$\n 2 ^Ifuga$\n 3 $\n
$ cat --version\ncat (GNU coreutils) 8.32\nCopyright (C) 2020 Free Software Foundation, Inc.\nLicense GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.\n\nWritten by Torbjorn Granlund and Richard M. Stallman.\n$ dpkg-query -W coreutils\ncoreutils\t8.32-4+b1\n$ lsb_release -dr\nDescription:\tDebian GNU/Linux bullseye/sid\nRelease:\tunstable\n$ uname -m\nx86_64\n
dd \u306e\u9032\u6357\u306f SIGUSR1 \u3092\u6295\u3052\u308b\u3068\u899a\u3048\u3066\u3044\u305f\u306e\u3067\u3059\u304c\uff0cman \u3092\u773a\u3081\u3066\u3044\u308b\u3068 status=progress \u3068\u3044\u3046\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u3042\u308b\u306e\u306b\u6c17\u3065\u304d\u307e\u3057\u305f\uff0e
2015-07-03 \u306e GNU coreutils 8.24 \u3067\u5165\u3063\u305f\u3088\u3046\u3067\u3059\uff0e
\n\u3053\u308c\u307e\u3067\u3082\u72ec\u81ea\u30d1\u30c3\u30c1\u3067dd\u306b\u30d7\u30ed\u30b0\u30ec\u30b9\u3092\u51fa\u3059\u3088\u3046\u306b\u3059\u308b\u3082\u306e\u306a\u3069\u306f\u3042\u308a\u307e\u3057\u305f\u304cGNU dd\u306b\u5c0e\u5165\u3055\u308c\u3066\u3044\u305f\u3093\u3067\u3059\u306d\uff0e\u6c17\u3065\u304d\u307e\u305b\u3093\u3067\u3057\u305f\uff0e
\n\n\u3066\u3053\u3068\u3067\u8a66\u3057\u3066\u307f\u307e\u3059\uff0e\u307e\u305a\u306f\u5f93\u6765\u306e\u65b9\u6cd5\u304b\u3089\uff0e
\n$ dd if=/dev/urandom of=/dev/null count=99999 &\r\n[1] 19386\nUSER1 \u30b7\u30b0\u30ca\u30eb\u3092\u6295\u3052\u308b$ kill -USR1 19522\r\n2294+0 \u30ec\u30b3\u30fc\u30c9\u5165\u529b\r\n2293+0 \u30ec\u30b3\u30fc\u30c9\u51fa\u529b\r\n2404384768 bytes (2.4 GB, 2.2 GiB) copied, 11.0258 s, 218 MB/s\n$ killall -USR1 dd\r\n15648+1 \u30ec\u30b3\u30fc\u30c9\u5165\u529b\r\n15647+1 \u30ec\u30b3\u30fc\u30c9\u51fa\u529b\r\n16407664896 bytes (16 GB, 15 GiB) copied, 76.1063 s, 216 MB/s\n\u203bpkill\u3092\u4f7f\u3046\u3068\u90e8\u5206\u4e00\u81f4\u306b\u306a\u308b\u306e\u3067\u610f\u56f3\u3057\u306a\u3044\u30d7\u30ed\u30bb\u30b9\u306b\u30b7\u30b0\u30ca\u30eb\u3092\u9001\u3063\u3066\u3057\u307e\u3046\u3053\u3068\u304c\u3042\u308b\u306e\u3067\u6ce8\u610f
\n$ pgrep dd\r\n2\r\n70\r\n3937\r\n$ ps 2 70 3937\r\n PID TTY STAT TIME COMMAND\r\n 2 ? S 0:00 [kthreadd]\r\n 70 ? I< 0:00 [ipv6_addrconf]\r\n 3937 pts/9 R 0:13 dd if=/dev/urandom of=/dev/null bs=1M count=99999\n$ watch killall -USR1 dd\r\n98448+3 \u30ec\u30b3\u30fc\u30c9\u5165\u529b\r\n98447+3 \u30ec\u30b3\u30fc\u30c9\u51fa\u529b\r\n103231407040 bytes (103 GB, 96 GiB) copied, 487.072 s, 212 MB/s\r\n :\n$ cat /dev/urandom | pv | dd of=/dev/null bs=1M count=99999\r\n1.06GiB 0:00:06 [ 182MiB/s] [ <=> ]\n$ pv /dev/urandom | dd of=/dev/null bs=1M count=99999\r\n 502MiB 0:00:03 [ 170MiB/s] [ <=> ]\nstatus=progress \u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u5229\u7528$ dd if=/dev/urandom of=/dev/null bs=1M count=99999 status=progress\r\n1910505472 bytes (1.9 GB, 1.8 GiB) copied, 9 s, 212 MB/s\n\u6d41\u77f3\u306b\u7d14\u6b63\u3060\u3051\u3042\u3063\u3066\u3044\u3044\u611f\u3058\u3067\u3059\u306d\uff0e\u554f\u984c\u306f\u3044\u3056\u4f7f\u3046\u3068\u304d\u306b\u601d\u3044\u51fa\u305b\u308b\u304b\u3068\u3044\u3046\u2026\u2026\uff0epv\u304c\u899a\u3048\u3084\u3059\u304f\u3066\u4fbf\u5229\u306a\u3093\u3067\u3059\u3088\u306d\uff0e
\n\u305d\u3082\u305d\u3082dd\u4f7f\u308f\u305aGNU ddrescue \u3092\u4f7f\u3046?\u307e\u3042\u5927\u62b5\u306e\u7528\u9014\u3067\u306f\u305d\u3063\u3061\u306e\u307b\u3046\u304c\u826f\u3044\u304b\u3082\u3067\u3059\uff0e
\n$ dd --version\r\ndd (coreutils) 8.28\r\nCopyright (C) 2017 Free Software Foundation, Inc.\r\n\u30e9\u30a4\u30bb\u30f3\u30b9 GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.\r\nThis is free software: you are free to change and redistribute it.\r\nThere is NO WARRANTY, to the extent permitted by law.\r\n\r\n\u4f5c\u8005 Paul Rubin\u3001 David MacKenzie\u3001\u304a\u3088\u3073 Stuart Kemp\u3002\r\n$ dpkg-query -W coreutils\r\ncoreutils 8.28-1\r\npv 1.6.6-1\r\n$ lsb_release -d\r\nDescription: Debian GNU/Linux unstable (sid)\r\n$ uname -m\r\nx86_64\n