1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-07-28 11:37:44 +00:00

Merge branch 'main' into mdbook

This commit is contained in:
Terts Diepraam 2022-01-22 12:42:19 +01:00
commit 7014607f0a
110 changed files with 513 additions and 358 deletions

208
Cargo.lock generated
View file

@ -314,7 +314,7 @@ dependencies = [
[[package]]
name = "coreutils"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"atty",
"chrono",
@ -2154,7 +2154,7 @@ checksum = "7cf7d77f457ef8dfa11e4cd5933c5ddb5dc52a94664071951219a97710f0a32b"
[[package]]
name = "uu_arch"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"platform-info",
@ -2164,7 +2164,7 @@ dependencies = [
[[package]]
name = "uu_base32"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"uucore",
@ -2173,7 +2173,7 @@ dependencies = [
[[package]]
name = "uu_base64"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"uu_base32",
"uucore",
@ -2182,7 +2182,7 @@ dependencies = [
[[package]]
name = "uu_basename"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"uucore",
@ -2191,7 +2191,7 @@ dependencies = [
[[package]]
name = "uu_basenc"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"uu_base32",
@ -2201,7 +2201,7 @@ dependencies = [
[[package]]
name = "uu_cat"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"atty",
"clap 3.0.9",
@ -2215,7 +2215,7 @@ dependencies = [
[[package]]
name = "uu_chcon"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"fts-sys",
@ -2228,7 +2228,7 @@ dependencies = [
[[package]]
name = "uu_chgrp"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"uucore",
@ -2237,7 +2237,7 @@ dependencies = [
[[package]]
name = "uu_chmod"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"libc",
@ -2248,7 +2248,7 @@ dependencies = [
[[package]]
name = "uu_chown"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"uucore",
@ -2257,7 +2257,7 @@ dependencies = [
[[package]]
name = "uu_chroot"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"uucore",
@ -2266,7 +2266,7 @@ dependencies = [
[[package]]
name = "uu_cksum"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"libc",
@ -2276,7 +2276,7 @@ dependencies = [
[[package]]
name = "uu_comm"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"libc",
@ -2286,7 +2286,7 @@ dependencies = [
[[package]]
name = "uu_cp"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"exacl",
@ -2304,7 +2304,7 @@ dependencies = [
[[package]]
name = "uu_csplit"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"regex",
@ -2315,7 +2315,7 @@ dependencies = [
[[package]]
name = "uu_cut"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"atty",
"bstr",
@ -2327,7 +2327,7 @@ dependencies = [
[[package]]
name = "uu_date"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"chrono",
"clap 3.0.9",
@ -2339,7 +2339,7 @@ dependencies = [
[[package]]
name = "uu_dd"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"byte-unit",
"clap 3.0.9",
@ -2353,7 +2353,7 @@ dependencies = [
[[package]]
name = "uu_df"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"number_prefix",
@ -2363,7 +2363,7 @@ dependencies = [
[[package]]
name = "uu_dircolors"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"glob",
@ -2373,7 +2373,7 @@ dependencies = [
[[package]]
name = "uu_dirname"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"libc",
@ -2383,7 +2383,7 @@ dependencies = [
[[package]]
name = "uu_du"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"chrono",
"clap 3.0.9",
@ -2394,7 +2394,7 @@ dependencies = [
[[package]]
name = "uu_echo"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"uucore",
@ -2403,7 +2403,7 @@ dependencies = [
[[package]]
name = "uu_env"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"libc",
@ -2414,7 +2414,7 @@ dependencies = [
[[package]]
name = "uu_expand"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"unicode-width",
@ -2424,7 +2424,7 @@ dependencies = [
[[package]]
name = "uu_expr"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"libc",
@ -2437,7 +2437,7 @@ dependencies = [
[[package]]
name = "uu_factor"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"coz",
@ -2452,7 +2452,7 @@ dependencies = [
[[package]]
name = "uu_false"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"uucore",
@ -2461,7 +2461,7 @@ dependencies = [
[[package]]
name = "uu_fmt"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"libc",
@ -2472,7 +2472,7 @@ dependencies = [
[[package]]
name = "uu_fold"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"uucore",
@ -2481,7 +2481,7 @@ dependencies = [
[[package]]
name = "uu_groups"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"uucore",
@ -2490,7 +2490,7 @@ dependencies = [
[[package]]
name = "uu_hashsum"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"blake2b_simd",
"clap 3.0.9",
@ -2510,7 +2510,7 @@ dependencies = [
[[package]]
name = "uu_head"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"memchr 2.4.1",
@ -2520,7 +2520,7 @@ dependencies = [
[[package]]
name = "uu_hostid"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"libc",
@ -2530,7 +2530,7 @@ dependencies = [
[[package]]
name = "uu_hostname"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"hostname",
@ -2542,7 +2542,7 @@ dependencies = [
[[package]]
name = "uu_id"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"selinux",
@ -2552,7 +2552,7 @@ dependencies = [
[[package]]
name = "uu_install"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"file_diff",
@ -2565,7 +2565,7 @@ dependencies = [
[[package]]
name = "uu_join"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"uucore",
@ -2574,7 +2574,7 @@ dependencies = [
[[package]]
name = "uu_kill"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"libc",
@ -2584,7 +2584,7 @@ dependencies = [
[[package]]
name = "uu_link"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"libc",
@ -2594,7 +2594,7 @@ dependencies = [
[[package]]
name = "uu_ln"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"libc",
@ -2604,7 +2604,7 @@ dependencies = [
[[package]]
name = "uu_logname"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"libc",
@ -2614,7 +2614,7 @@ dependencies = [
[[package]]
name = "uu_ls"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"atty",
"chrono",
@ -2634,7 +2634,7 @@ dependencies = [
[[package]]
name = "uu_mkdir"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"libc",
@ -2644,7 +2644,7 @@ dependencies = [
[[package]]
name = "uu_mkfifo"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"libc",
@ -2654,7 +2654,7 @@ dependencies = [
[[package]]
name = "uu_mknod"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"libc",
@ -2664,7 +2664,7 @@ dependencies = [
[[package]]
name = "uu_mktemp"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"rand 0.5.6",
@ -2675,7 +2675,7 @@ dependencies = [
[[package]]
name = "uu_more"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"atty",
"clap 3.0.9",
@ -2691,7 +2691,7 @@ dependencies = [
[[package]]
name = "uu_mv"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"fs_extra",
@ -2701,7 +2701,7 @@ dependencies = [
[[package]]
name = "uu_nice"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"libc",
@ -2712,7 +2712,7 @@ dependencies = [
[[package]]
name = "uu_nl"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"aho-corasick",
"clap 3.0.9",
@ -2726,7 +2726,7 @@ dependencies = [
[[package]]
name = "uu_nohup"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"atty",
"clap 3.0.9",
@ -2737,7 +2737,7 @@ dependencies = [
[[package]]
name = "uu_nproc"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"libc",
@ -2748,7 +2748,7 @@ dependencies = [
[[package]]
name = "uu_numfmt"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"uucore",
@ -2757,7 +2757,7 @@ dependencies = [
[[package]]
name = "uu_od"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"byteorder",
"clap 3.0.9",
@ -2769,7 +2769,7 @@ dependencies = [
[[package]]
name = "uu_paste"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"uucore",
@ -2778,7 +2778,7 @@ dependencies = [
[[package]]
name = "uu_pathchk"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"libc",
@ -2788,7 +2788,7 @@ dependencies = [
[[package]]
name = "uu_pinky"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"uucore",
@ -2797,7 +2797,7 @@ dependencies = [
[[package]]
name = "uu_pr"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"chrono",
"clap 3.0.9",
@ -2811,7 +2811,7 @@ dependencies = [
[[package]]
name = "uu_printenv"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"uucore",
@ -2820,7 +2820,7 @@ dependencies = [
[[package]]
name = "uu_printf"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"itertools 0.8.2",
@ -2830,7 +2830,7 @@ dependencies = [
[[package]]
name = "uu_ptx"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"aho-corasick",
"clap 3.0.9",
@ -2844,7 +2844,7 @@ dependencies = [
[[package]]
name = "uu_pwd"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"uucore",
@ -2853,7 +2853,7 @@ dependencies = [
[[package]]
name = "uu_readlink"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"libc",
@ -2863,7 +2863,7 @@ dependencies = [
[[package]]
name = "uu_realpath"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"uucore",
@ -2872,7 +2872,7 @@ dependencies = [
[[package]]
name = "uu_relpath"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"uucore",
@ -2881,7 +2881,7 @@ dependencies = [
[[package]]
name = "uu_rm"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"remove_dir_all",
@ -2893,7 +2893,7 @@ dependencies = [
[[package]]
name = "uu_rmdir"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"libc",
@ -2903,7 +2903,7 @@ dependencies = [
[[package]]
name = "uu_runcon"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"fts-sys",
@ -2916,7 +2916,7 @@ dependencies = [
[[package]]
name = "uu_seq"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"bigdecimal",
"clap 3.0.9",
@ -2928,7 +2928,7 @@ dependencies = [
[[package]]
name = "uu_shred"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"libc",
@ -2939,7 +2939,7 @@ dependencies = [
[[package]]
name = "uu_shuf"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"rand 0.5.6",
@ -2949,7 +2949,7 @@ dependencies = [
[[package]]
name = "uu_sleep"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"uucore",
@ -2958,7 +2958,7 @@ dependencies = [
[[package]]
name = "uu_sort"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"binary-heap-plus",
"clap 3.0.9",
@ -2978,7 +2978,7 @@ dependencies = [
[[package]]
name = "uu_split"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"uucore",
@ -2987,7 +2987,7 @@ dependencies = [
[[package]]
name = "uu_stat"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"uucore",
@ -2996,7 +2996,7 @@ dependencies = [
[[package]]
name = "uu_stdbuf"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"tempfile",
@ -3007,7 +3007,7 @@ dependencies = [
[[package]]
name = "uu_stdbuf_libstdbuf"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"cpp",
"cpp_build",
@ -3018,7 +3018,7 @@ dependencies = [
[[package]]
name = "uu_sum"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"uucore",
@ -3027,7 +3027,7 @@ dependencies = [
[[package]]
name = "uu_sync"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"libc",
@ -3038,7 +3038,7 @@ dependencies = [
[[package]]
name = "uu_tac"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"memchr 2.4.1",
@ -3050,7 +3050,7 @@ dependencies = [
[[package]]
name = "uu_tail"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"libc",
@ -3063,7 +3063,7 @@ dependencies = [
[[package]]
name = "uu_tee"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"libc",
@ -3074,7 +3074,7 @@ dependencies = [
[[package]]
name = "uu_test"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"libc",
@ -3085,7 +3085,7 @@ dependencies = [
[[package]]
name = "uu_timeout"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"libc",
@ -3096,7 +3096,7 @@ dependencies = [
[[package]]
name = "uu_touch"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"filetime",
@ -3107,7 +3107,7 @@ dependencies = [
[[package]]
name = "uu_tr"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"bit-set",
"clap 3.0.9",
@ -3118,7 +3118,7 @@ dependencies = [
[[package]]
name = "uu_true"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"uucore",
@ -3127,7 +3127,7 @@ dependencies = [
[[package]]
name = "uu_truncate"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"uucore",
@ -3136,7 +3136,7 @@ dependencies = [
[[package]]
name = "uu_tsort"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"uucore",
@ -3145,7 +3145,7 @@ dependencies = [
[[package]]
name = "uu_tty"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"atty",
"clap 3.0.9",
@ -3156,7 +3156,7 @@ dependencies = [
[[package]]
name = "uu_uname"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"platform-info",
@ -3166,7 +3166,7 @@ dependencies = [
[[package]]
name = "uu_unexpand"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"unicode-width",
@ -3176,7 +3176,7 @@ dependencies = [
[[package]]
name = "uu_uniq"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"strum",
@ -3187,7 +3187,7 @@ dependencies = [
[[package]]
name = "uu_unlink"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"uucore",
@ -3196,7 +3196,7 @@ dependencies = [
[[package]]
name = "uu_uptime"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"chrono",
"clap 3.0.9",
@ -3206,7 +3206,7 @@ dependencies = [
[[package]]
name = "uu_users"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"uucore",
@ -3215,7 +3215,7 @@ dependencies = [
[[package]]
name = "uu_wc"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"bytecount",
"clap 3.0.9",
@ -3229,7 +3229,7 @@ dependencies = [
[[package]]
name = "uu_who"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"uucore",
@ -3238,7 +3238,7 @@ dependencies = [
[[package]]
name = "uu_whoami"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"libc",
@ -3249,7 +3249,7 @@ dependencies = [
[[package]]
name = "uu_yes"
version = "0.0.9"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"nix 0.23.1",
@ -3259,7 +3259,7 @@ dependencies = [
[[package]]
name = "uucore"
version = "0.0.11"
version = "0.0.12"
dependencies = [
"clap 3.0.9",
"data-encoding",
@ -3283,7 +3283,7 @@ dependencies = [
[[package]]
name = "uucore_procs"
version = "0.0.8"
version = "0.0.12"
dependencies = [
"proc-macro2",
"quote 1.0.14",

View file

@ -5,7 +5,7 @@
[package]
name = "coreutils"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "coreutils ~ GNU coreutils (updated); implemented as universal (cross-platform) utils, written in Rust"
@ -252,107 +252,107 @@ textwrap = { version="0.14", features=["terminal_size"] }
uucore = { version=">=0.0.11", package="uucore", path="src/uucore" }
selinux = { version="0.2.3", optional = true }
# * uutils
uu_test = { optional=true, version="0.0.9", package="uu_test", path="src/uu/test" }
uu_test = { optional=true, version="0.0.12", package="uu_test", path="src/uu/test" }
#
arch = { optional=true, version="0.0.9", package="uu_arch", path="src/uu/arch" }
base32 = { optional=true, version="0.0.9", package="uu_base32", path="src/uu/base32" }
base64 = { optional=true, version="0.0.9", package="uu_base64", path="src/uu/base64" }
basename = { optional=true, version="0.0.9", package="uu_basename", path="src/uu/basename" }
basenc = { optional=true, version="0.0.9", package="uu_basenc", path="src/uu/basenc" }
cat = { optional=true, version="0.0.9", package="uu_cat", path="src/uu/cat" }
chcon = { optional=true, version="0.0.9", package="uu_chcon", path="src/uu/chcon" }
chgrp = { optional=true, version="0.0.9", package="uu_chgrp", path="src/uu/chgrp" }
chmod = { optional=true, version="0.0.9", package="uu_chmod", path="src/uu/chmod" }
chown = { optional=true, version="0.0.9", package="uu_chown", path="src/uu/chown" }
chroot = { optional=true, version="0.0.9", package="uu_chroot", path="src/uu/chroot" }
cksum = { optional=true, version="0.0.9", package="uu_cksum", path="src/uu/cksum" }
comm = { optional=true, version="0.0.9", package="uu_comm", path="src/uu/comm" }
cp = { optional=true, version="0.0.9", package="uu_cp", path="src/uu/cp" }
csplit = { optional=true, version="0.0.9", package="uu_csplit", path="src/uu/csplit" }
cut = { optional=true, version="0.0.9", package="uu_cut", path="src/uu/cut" }
date = { optional=true, version="0.0.9", package="uu_date", path="src/uu/date" }
dd = { optional=true, version="0.0.9", package="uu_dd", path="src/uu/dd" }
df = { optional=true, version="0.0.9", package="uu_df", path="src/uu/df" }
dircolors= { optional=true, version="0.0.9", package="uu_dircolors", path="src/uu/dircolors" }
dirname = { optional=true, version="0.0.9", package="uu_dirname", path="src/uu/dirname" }
du = { optional=true, version="0.0.9", package="uu_du", path="src/uu/du" }
echo = { optional=true, version="0.0.9", package="uu_echo", path="src/uu/echo" }
env = { optional=true, version="0.0.9", package="uu_env", path="src/uu/env" }
expand = { optional=true, version="0.0.9", package="uu_expand", path="src/uu/expand" }
expr = { optional=true, version="0.0.9", package="uu_expr", path="src/uu/expr" }
factor = { optional=true, version="0.0.9", package="uu_factor", path="src/uu/factor" }
false = { optional=true, version="0.0.9", package="uu_false", path="src/uu/false" }
fmt = { optional=true, version="0.0.9", package="uu_fmt", path="src/uu/fmt" }
fold = { optional=true, version="0.0.9", package="uu_fold", path="src/uu/fold" }
groups = { optional=true, version="0.0.9", package="uu_groups", path="src/uu/groups" }
hashsum = { optional=true, version="0.0.9", package="uu_hashsum", path="src/uu/hashsum" }
head = { optional=true, version="0.0.9", package="uu_head", path="src/uu/head" }
hostid = { optional=true, version="0.0.9", package="uu_hostid", path="src/uu/hostid" }
hostname = { optional=true, version="0.0.9", package="uu_hostname", path="src/uu/hostname" }
id = { optional=true, version="0.0.9", package="uu_id", path="src/uu/id" }
install = { optional=true, version="0.0.9", package="uu_install", path="src/uu/install" }
join = { optional=true, version="0.0.9", package="uu_join", path="src/uu/join" }
kill = { optional=true, version="0.0.9", package="uu_kill", path="src/uu/kill" }
link = { optional=true, version="0.0.9", package="uu_link", path="src/uu/link" }
ln = { optional=true, version="0.0.9", package="uu_ln", path="src/uu/ln" }
ls = { optional=true, version="0.0.9", package="uu_ls", path="src/uu/ls" }
logname = { optional=true, version="0.0.9", package="uu_logname", path="src/uu/logname" }
mkdir = { optional=true, version="0.0.9", package="uu_mkdir", path="src/uu/mkdir" }
mkfifo = { optional=true, version="0.0.9", package="uu_mkfifo", path="src/uu/mkfifo" }
mknod = { optional=true, version="0.0.9", package="uu_mknod", path="src/uu/mknod" }
mktemp = { optional=true, version="0.0.9", package="uu_mktemp", path="src/uu/mktemp" }
more = { optional=true, version="0.0.9", package="uu_more", path="src/uu/more" }
mv = { optional=true, version="0.0.9", package="uu_mv", path="src/uu/mv" }
nice = { optional=true, version="0.0.9", package="uu_nice", path="src/uu/nice" }
nl = { optional=true, version="0.0.9", package="uu_nl", path="src/uu/nl" }
nohup = { optional=true, version="0.0.9", package="uu_nohup", path="src/uu/nohup" }
nproc = { optional=true, version="0.0.9", package="uu_nproc", path="src/uu/nproc" }
numfmt = { optional=true, version="0.0.9", package="uu_numfmt", path="src/uu/numfmt" }
od = { optional=true, version="0.0.9", package="uu_od", path="src/uu/od" }
paste = { optional=true, version="0.0.9", package="uu_paste", path="src/uu/paste" }
pathchk = { optional=true, version="0.0.9", package="uu_pathchk", path="src/uu/pathchk" }
pinky = { optional=true, version="0.0.9", package="uu_pinky", path="src/uu/pinky" }
pr = { optional=true, version="0.0.9", package="uu_pr", path="src/uu/pr" }
printenv = { optional=true, version="0.0.9", package="uu_printenv", path="src/uu/printenv" }
printf = { optional=true, version="0.0.9", package="uu_printf", path="src/uu/printf" }
ptx = { optional=true, version="0.0.9", package="uu_ptx", path="src/uu/ptx" }
pwd = { optional=true, version="0.0.9", package="uu_pwd", path="src/uu/pwd" }
readlink = { optional=true, version="0.0.9", package="uu_readlink", path="src/uu/readlink" }
realpath = { optional=true, version="0.0.9", package="uu_realpath", path="src/uu/realpath" }
relpath = { optional=true, version="0.0.9", package="uu_relpath", path="src/uu/relpath" }
rm = { optional=true, version="0.0.9", package="uu_rm", path="src/uu/rm" }
rmdir = { optional=true, version="0.0.9", package="uu_rmdir", path="src/uu/rmdir" }
runcon = { optional=true, version="0.0.9", package="uu_runcon", path="src/uu/runcon" }
seq = { optional=true, version="0.0.9", package="uu_seq", path="src/uu/seq" }
shred = { optional=true, version="0.0.9", package="uu_shred", path="src/uu/shred" }
shuf = { optional=true, version="0.0.9", package="uu_shuf", path="src/uu/shuf" }
sleep = { optional=true, version="0.0.9", package="uu_sleep", path="src/uu/sleep" }
sort = { optional=true, version="0.0.9", package="uu_sort", path="src/uu/sort" }
split = { optional=true, version="0.0.9", package="uu_split", path="src/uu/split" }
stat = { optional=true, version="0.0.9", package="uu_stat", path="src/uu/stat" }
stdbuf = { optional=true, version="0.0.9", package="uu_stdbuf", path="src/uu/stdbuf" }
sum = { optional=true, version="0.0.9", package="uu_sum", path="src/uu/sum" }
sync = { optional=true, version="0.0.9", package="uu_sync", path="src/uu/sync" }
tac = { optional=true, version="0.0.9", package="uu_tac", path="src/uu/tac" }
tail = { optional=true, version="0.0.9", package="uu_tail", path="src/uu/tail" }
tee = { optional=true, version="0.0.9", package="uu_tee", path="src/uu/tee" }
timeout = { optional=true, version="0.0.9", package="uu_timeout", path="src/uu/timeout" }
touch = { optional=true, version="0.0.9", package="uu_touch", path="src/uu/touch" }
tr = { optional=true, version="0.0.9", package="uu_tr", path="src/uu/tr" }
true = { optional=true, version="0.0.9", package="uu_true", path="src/uu/true" }
truncate = { optional=true, version="0.0.9", package="uu_truncate", path="src/uu/truncate" }
tsort = { optional=true, version="0.0.9", package="uu_tsort", path="src/uu/tsort" }
tty = { optional=true, version="0.0.9", package="uu_tty", path="src/uu/tty" }
uname = { optional=true, version="0.0.9", package="uu_uname", path="src/uu/uname" }
unexpand = { optional=true, version="0.0.9", package="uu_unexpand", path="src/uu/unexpand" }
uniq = { optional=true, version="0.0.9", package="uu_uniq", path="src/uu/uniq" }
unlink = { optional=true, version="0.0.9", package="uu_unlink", path="src/uu/unlink" }
uptime = { optional=true, version="0.0.9", package="uu_uptime", path="src/uu/uptime" }
users = { optional=true, version="0.0.9", package="uu_users", path="src/uu/users" }
wc = { optional=true, version="0.0.9", package="uu_wc", path="src/uu/wc" }
who = { optional=true, version="0.0.9", package="uu_who", path="src/uu/who" }
whoami = { optional=true, version="0.0.9", package="uu_whoami", path="src/uu/whoami" }
yes = { optional=true, version="0.0.9", package="uu_yes", path="src/uu/yes" }
arch = { optional=true, version="0.0.12", package="uu_arch", path="src/uu/arch" }
base32 = { optional=true, version="0.0.12", package="uu_base32", path="src/uu/base32" }
base64 = { optional=true, version="0.0.12", package="uu_base64", path="src/uu/base64" }
basename = { optional=true, version="0.0.12", package="uu_basename", path="src/uu/basename" }
basenc = { optional=true, version="0.0.12", package="uu_basenc", path="src/uu/basenc" }
cat = { optional=true, version="0.0.12", package="uu_cat", path="src/uu/cat" }
chcon = { optional=true, version="0.0.12", package="uu_chcon", path="src/uu/chcon" }
chgrp = { optional=true, version="0.0.12", package="uu_chgrp", path="src/uu/chgrp" }
chmod = { optional=true, version="0.0.12", package="uu_chmod", path="src/uu/chmod" }
chown = { optional=true, version="0.0.12", package="uu_chown", path="src/uu/chown" }
chroot = { optional=true, version="0.0.12", package="uu_chroot", path="src/uu/chroot" }
cksum = { optional=true, version="0.0.12", package="uu_cksum", path="src/uu/cksum" }
comm = { optional=true, version="0.0.12", package="uu_comm", path="src/uu/comm" }
cp = { optional=true, version="0.0.12", package="uu_cp", path="src/uu/cp" }
csplit = { optional=true, version="0.0.12", package="uu_csplit", path="src/uu/csplit" }
cut = { optional=true, version="0.0.12", package="uu_cut", path="src/uu/cut" }
date = { optional=true, version="0.0.12", package="uu_date", path="src/uu/date" }
dd = { optional=true, version="0.0.12", package="uu_dd", path="src/uu/dd" }
df = { optional=true, version="0.0.12", package="uu_df", path="src/uu/df" }
dircolors= { optional=true, version="0.0.12", package="uu_dircolors", path="src/uu/dircolors" }
dirname = { optional=true, version="0.0.12", package="uu_dirname", path="src/uu/dirname" }
du = { optional=true, version="0.0.12", package="uu_du", path="src/uu/du" }
echo = { optional=true, version="0.0.12", package="uu_echo", path="src/uu/echo" }
env = { optional=true, version="0.0.12", package="uu_env", path="src/uu/env" }
expand = { optional=true, version="0.0.12", package="uu_expand", path="src/uu/expand" }
expr = { optional=true, version="0.0.12", package="uu_expr", path="src/uu/expr" }
factor = { optional=true, version="0.0.12", package="uu_factor", path="src/uu/factor" }
false = { optional=true, version="0.0.12", package="uu_false", path="src/uu/false" }
fmt = { optional=true, version="0.0.12", package="uu_fmt", path="src/uu/fmt" }
fold = { optional=true, version="0.0.12", package="uu_fold", path="src/uu/fold" }
groups = { optional=true, version="0.0.12", package="uu_groups", path="src/uu/groups" }
hashsum = { optional=true, version="0.0.12", package="uu_hashsum", path="src/uu/hashsum" }
head = { optional=true, version="0.0.12", package="uu_head", path="src/uu/head" }
hostid = { optional=true, version="0.0.12", package="uu_hostid", path="src/uu/hostid" }
hostname = { optional=true, version="0.0.12", package="uu_hostname", path="src/uu/hostname" }
id = { optional=true, version="0.0.12", package="uu_id", path="src/uu/id" }
install = { optional=true, version="0.0.12", package="uu_install", path="src/uu/install" }
join = { optional=true, version="0.0.12", package="uu_join", path="src/uu/join" }
kill = { optional=true, version="0.0.12", package="uu_kill", path="src/uu/kill" }
link = { optional=true, version="0.0.12", package="uu_link", path="src/uu/link" }
ln = { optional=true, version="0.0.12", package="uu_ln", path="src/uu/ln" }
ls = { optional=true, version="0.0.12", package="uu_ls", path="src/uu/ls" }
logname = { optional=true, version="0.0.12", package="uu_logname", path="src/uu/logname" }
mkdir = { optional=true, version="0.0.12", package="uu_mkdir", path="src/uu/mkdir" }
mkfifo = { optional=true, version="0.0.12", package="uu_mkfifo", path="src/uu/mkfifo" }
mknod = { optional=true, version="0.0.12", package="uu_mknod", path="src/uu/mknod" }
mktemp = { optional=true, version="0.0.12", package="uu_mktemp", path="src/uu/mktemp" }
more = { optional=true, version="0.0.12", package="uu_more", path="src/uu/more" }
mv = { optional=true, version="0.0.12", package="uu_mv", path="src/uu/mv" }
nice = { optional=true, version="0.0.12", package="uu_nice", path="src/uu/nice" }
nl = { optional=true, version="0.0.12", package="uu_nl", path="src/uu/nl" }
nohup = { optional=true, version="0.0.12", package="uu_nohup", path="src/uu/nohup" }
nproc = { optional=true, version="0.0.12", package="uu_nproc", path="src/uu/nproc" }
numfmt = { optional=true, version="0.0.12", package="uu_numfmt", path="src/uu/numfmt" }
od = { optional=true, version="0.0.12", package="uu_od", path="src/uu/od" }
paste = { optional=true, version="0.0.12", package="uu_paste", path="src/uu/paste" }
pathchk = { optional=true, version="0.0.12", package="uu_pathchk", path="src/uu/pathchk" }
pinky = { optional=true, version="0.0.12", package="uu_pinky", path="src/uu/pinky" }
pr = { optional=true, version="0.0.12", package="uu_pr", path="src/uu/pr" }
printenv = { optional=true, version="0.0.12", package="uu_printenv", path="src/uu/printenv" }
printf = { optional=true, version="0.0.12", package="uu_printf", path="src/uu/printf" }
ptx = { optional=true, version="0.0.12", package="uu_ptx", path="src/uu/ptx" }
pwd = { optional=true, version="0.0.12", package="uu_pwd", path="src/uu/pwd" }
readlink = { optional=true, version="0.0.12", package="uu_readlink", path="src/uu/readlink" }
realpath = { optional=true, version="0.0.12", package="uu_realpath", path="src/uu/realpath" }
relpath = { optional=true, version="0.0.12", package="uu_relpath", path="src/uu/relpath" }
rm = { optional=true, version="0.0.12", package="uu_rm", path="src/uu/rm" }
rmdir = { optional=true, version="0.0.12", package="uu_rmdir", path="src/uu/rmdir" }
runcon = { optional=true, version="0.0.12", package="uu_runcon", path="src/uu/runcon" }
seq = { optional=true, version="0.0.12", package="uu_seq", path="src/uu/seq" }
shred = { optional=true, version="0.0.12", package="uu_shred", path="src/uu/shred" }
shuf = { optional=true, version="0.0.12", package="uu_shuf", path="src/uu/shuf" }
sleep = { optional=true, version="0.0.12", package="uu_sleep", path="src/uu/sleep" }
sort = { optional=true, version="0.0.12", package="uu_sort", path="src/uu/sort" }
split = { optional=true, version="0.0.12", package="uu_split", path="src/uu/split" }
stat = { optional=true, version="0.0.12", package="uu_stat", path="src/uu/stat" }
stdbuf = { optional=true, version="0.0.12", package="uu_stdbuf", path="src/uu/stdbuf" }
sum = { optional=true, version="0.0.12", package="uu_sum", path="src/uu/sum" }
sync = { optional=true, version="0.0.12", package="uu_sync", path="src/uu/sync" }
tac = { optional=true, version="0.0.12", package="uu_tac", path="src/uu/tac" }
tail = { optional=true, version="0.0.12", package="uu_tail", path="src/uu/tail" }
tee = { optional=true, version="0.0.12", package="uu_tee", path="src/uu/tee" }
timeout = { optional=true, version="0.0.12", package="uu_timeout", path="src/uu/timeout" }
touch = { optional=true, version="0.0.12", package="uu_touch", path="src/uu/touch" }
tr = { optional=true, version="0.0.12", package="uu_tr", path="src/uu/tr" }
true = { optional=true, version="0.0.12", package="uu_true", path="src/uu/true" }
truncate = { optional=true, version="0.0.12", package="uu_truncate", path="src/uu/truncate" }
tsort = { optional=true, version="0.0.12", package="uu_tsort", path="src/uu/tsort" }
tty = { optional=true, version="0.0.12", package="uu_tty", path="src/uu/tty" }
uname = { optional=true, version="0.0.12", package="uu_uname", path="src/uu/uname" }
unexpand = { optional=true, version="0.0.12", package="uu_unexpand", path="src/uu/unexpand" }
uniq = { optional=true, version="0.0.12", package="uu_uniq", path="src/uu/uniq" }
unlink = { optional=true, version="0.0.12", package="uu_unlink", path="src/uu/unlink" }
uptime = { optional=true, version="0.0.12", package="uu_uptime", path="src/uu/uptime" }
users = { optional=true, version="0.0.12", package="uu_users", path="src/uu/users" }
wc = { optional=true, version="0.0.12", package="uu_wc", path="src/uu/wc" }
who = { optional=true, version="0.0.12", package="uu_who", path="src/uu/who" }
whoami = { optional=true, version="0.0.12", package="uu_whoami", path="src/uu/whoami" }
yes = { optional=true, version="0.0.12", package="uu_yes", path="src/uu/yes" }
# this breaks clippy linting with: "tests/by-util/test_factor_benches.rs: No such file or directory (os error 2)"
# factor_benches = { optional = true, version = "0.0.0", package = "uu_factor_benches", path = "tests/benches/factor" }

View file

@ -1,6 +1,6 @@
[package]
name = "uu_arch"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "arch ~ (uutils) display machine architecture"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_base32"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "base32 ~ (uutils) decode/encode input (base32-encoding)"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_base64"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "base64 ~ (uutils) decode/encode input (base64-encoding)"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_basename"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "basename ~ (uutils) display PATHNAME with leading directory components removed"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_basenc"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "basenc ~ (uutils) decode/encode input"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_cat"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "cat ~ (uutils) concatenate and display input"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_chcon"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "chcon ~ (uutils) change file security context"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_chgrp"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "chgrp ~ (uutils) change the group ownership of FILE"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_chmod"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "chmod ~ (uutils) change mode of FILE"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_chown"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "chown ~ (uutils) change the ownership of FILE"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_chroot"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "chroot ~ (uutils) run COMMAND under a new root directory"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_cksum"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "cksum ~ (uutils) display CRC and size of input"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_comm"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "comm ~ (uutils) compare sorted inputs"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_cp"
version = "0.0.9"
version = "0.0.12"
authors = [
"Jordy Dickinson <jordy.dickinson@gmail.com>",
"Joshua S. Miller <jsmiller@uchicago.edu>",

View file

@ -1,6 +1,6 @@
[package]
name = "uu_csplit"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "csplit ~ (uutils) Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ..., and output byte counts of each piece to standard output"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_cut"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "cut ~ (uutils) display byte/field columns of input lines"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_date"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "date ~ (uutils) display or set the current time"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_dd"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "dd ~ (uutils) copy and convert files"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_df"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "df ~ (uutils) display file system information"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_dircolors"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "dircolors ~ (uutils) display commands to set LS_COLORS"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_dirname"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "dirname ~ (uutils) display parent directory of PATHNAME"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_du"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "du ~ (uutils) display disk usage"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_echo"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "echo ~ (uutils) display TEXT"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_env"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "env ~ (uutils) set each NAME to VALUE in the environment and run COMMAND"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_expand"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "expand ~ (uutils) convert input tabs to spaces"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_expr"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "expr ~ (uutils) display the value of EXPRESSION"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_factor"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "factor ~ (uutils) display the prime factors of each NUMBER"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_false"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "false ~ (uutils) do nothing and fail"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_fmt"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "fmt ~ (uutils) reformat each paragraph of input"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_fold"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "fold ~ (uutils) wrap each line of input"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_groups"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "groups ~ (uutils) display group memberships for USERNAME"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_hashsum"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "hashsum ~ (uutils) display or check input digests"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_head"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "head ~ (uutils) display the first lines of input"

View file

@ -3,10 +3,10 @@
// * For the full copyright and license information, please view the LICENSE
// * file that was distributed with this source code.
// spell-checker:ignore (vars) zlines BUFWRITER
// spell-checker:ignore (vars) zlines BUFWRITER seekable
use clap::{crate_version, App, Arg};
use std::convert::TryFrom;
use std::convert::{TryFrom, TryInto};
use std::ffi::OsString;
use std::io::{self, BufWriter, ErrorKind, Read, Seek, SeekFrom, Write};
use uucore::display::Quotable;
@ -291,16 +291,95 @@ fn read_but_last_n_lines(
Ok(())
}
fn head_backwards_file(input: &mut std::fs::File, options: &HeadOptions) -> std::io::Result<()> {
assert!(options.all_but_last);
/// Return the index in `input` just after the `n`th line from the end.
///
/// If `n` exceeds the number of lines in this file, then return 0.
///
/// The cursor must be at the start of the seekable input before
/// calling this function. This function rewinds the cursor to the
/// beginning of the input just before returning unless there is an
/// I/O error.
///
/// If `zeroed` is `false`, interpret the newline character `b'\n'` as
/// a line ending. If `zeroed` is `true`, interpret the null character
/// `b'\0'` as a line ending instead.
///
/// # Errors
///
/// This function returns an error if there is a problem seeking
/// through or reading the input.
///
/// # Examples
///
/// The function returns the index of the byte immediately following
/// the line ending character of the `n`th line from the end of the
/// input:
///
/// ```rust,ignore
/// let mut input = Cursor::new("x\ny\nz\n");
/// assert_eq!(find_nth_line_from_end(&mut input, 0, false).unwrap(), 6);
/// assert_eq!(find_nth_line_from_end(&mut input, 1, false).unwrap(), 4);
/// assert_eq!(find_nth_line_from_end(&mut input, 2, false).unwrap(), 2);
/// ```
///
/// If `n` exceeds the number of lines in the file, always return 0:
///
/// ```rust,ignore
/// let mut input = Cursor::new("x\ny\nz\n");
/// assert_eq!(find_nth_line_from_end(&mut input, 3, false).unwrap(), 0);
/// assert_eq!(find_nth_line_from_end(&mut input, 4, false).unwrap(), 0);
/// assert_eq!(find_nth_line_from_end(&mut input, 1000, false).unwrap(), 0);
/// ```
fn find_nth_line_from_end<R>(input: &mut R, n: usize, zeroed: bool) -> std::io::Result<usize>
where
R: Read + Seek,
{
let size = input.seek(SeekFrom::End(0))?;
let size = usize::try_from(size).unwrap();
let mut buffer = [0u8; BUF_SIZE];
let buffer = &mut buffer[..BUF_SIZE.min(size)];
let mut i = 0usize;
let mut lines = 0usize;
loop {
// the casts here are ok, `buffer.len()` should never be above a few k
input.seek(SeekFrom::Current(
-((buffer.len() as i64).min((size - i) as i64)),
))?;
input.read_exact(buffer)?;
for byte in buffer.iter().rev() {
match byte {
b'\n' if !zeroed => {
lines += 1;
}
0u8 if zeroed => {
lines += 1;
}
_ => {}
}
// if it were just `n`,
if lines == n + 1 {
input.seek(SeekFrom::Start(0))?;
return Ok(size - i);
}
i += 1;
}
if size - i == 0 {
input.seek(SeekFrom::Start(0))?;
return Ok(0);
}
}
}
fn head_backwards_file(input: &mut std::fs::File, options: &HeadOptions) -> std::io::Result<()> {
assert!(options.all_but_last);
match options.mode {
Modes::Bytes(n) => {
let size = input.metadata()?.len().try_into().unwrap();
if n >= size {
return Ok(());
} else {
input.seek(SeekFrom::Start(0))?;
read_n_bytes(
&mut std::io::BufReader::with_capacity(BUF_SIZE, input),
size - n,
@ -308,41 +387,10 @@ fn head_backwards_file(input: &mut std::fs::File, options: &HeadOptions) -> std:
}
}
Modes::Lines(n) => {
let mut buffer = [0u8; BUF_SIZE];
let buffer = &mut buffer[..BUF_SIZE.min(size)];
let mut i = 0usize;
let mut lines = 0usize;
let found = 'o: loop {
// the casts here are ok, `buffer.len()` should never be above a few k
input.seek(SeekFrom::Current(
-((buffer.len() as i64).min((size - i) as i64)),
))?;
input.read_exact(buffer)?;
for byte in buffer.iter().rev() {
match byte {
b'\n' if !options.zeroed => {
lines += 1;
}
0u8 if options.zeroed => {
lines += 1;
}
_ => {}
}
// if it were just `n`,
if lines == n + 1 {
break 'o i;
}
i += 1;
}
if size - i == 0 {
return Ok(());
}
};
input.seek(SeekFrom::Start(0))?;
let found = find_nth_line_from_end(input, n, options.zeroed)?;
read_n_bytes(
&mut std::io::BufReader::with_capacity(BUF_SIZE, input),
size - found,
found,
)?;
}
}
@ -459,6 +507,7 @@ pub fn uumain(args: impl uucore::Args) -> UResult<()> {
#[cfg(test)]
mod tests {
use std::ffi::OsString;
use std::io::Cursor;
use super::*;
fn options(args: &str) -> Result<HeadOptions, String> {
@ -580,4 +629,15 @@ mod tests {
assert!(read_n_bytes(&mut empty, 0).is_ok());
assert!(read_n_lines(&mut empty, 0, false).is_ok());
}
#[test]
fn test_find_nth_line_from_end() {
let mut input = Cursor::new("x\ny\nz\n");
assert_eq!(find_nth_line_from_end(&mut input, 0, false).unwrap(), 6);
assert_eq!(find_nth_line_from_end(&mut input, 1, false).unwrap(), 4);
assert_eq!(find_nth_line_from_end(&mut input, 2, false).unwrap(), 2);
assert_eq!(find_nth_line_from_end(&mut input, 3, false).unwrap(), 0);
assert_eq!(find_nth_line_from_end(&mut input, 4, false).unwrap(), 0);
assert_eq!(find_nth_line_from_end(&mut input, 1000, false).unwrap(), 0);
}
}

View file

@ -1,6 +1,6 @@
[package]
name = "uu_hostid"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "hostid ~ (uutils) display the numeric identifier of the current host"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_hostname"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "hostname ~ (uutils) display or set the host name of the current host"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_id"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "id ~ (uutils) display user and group information for USER"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_install"
version = "0.0.9"
version = "0.0.12"
authors = [
"Ben Eills <ben@beneills.com>",
"uutils developers",

View file

@ -1,6 +1,6 @@
[package]
name = "uu_join"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "join ~ (uutils) merge lines from inputs with matching join fields"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_kill"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "kill ~ (uutils) send a signal to a process"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_link"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "link ~ (uutils) create a hard (file system) link to FILE"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_ln"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "ln ~ (uutils) create a (file system) link to TARGET"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_logname"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "logname ~ (uutils) display the login name of the current user"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_ls"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "ls ~ (uutils) display directory contents"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_mkdir"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "mkdir ~ (uutils) create DIRECTORY"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_mkfifo"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "mkfifo ~ (uutils) create FIFOs (named pipes)"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_mknod"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "mknod ~ (uutils) create special file NAME of TYPE"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_mktemp"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "mktemp ~ (uutils) create and display a temporary file or directory from TEMPLATE"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_more"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "more ~ (uutils) input perusal filter"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_mv"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "mv ~ (uutils) move (rename) SOURCE to DESTINATION"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_nice"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "nice ~ (uutils) run PROGRAM with modified scheduling priority"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_nl"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "nl ~ (uutils) display input with added line numbers"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_nohup"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "nohup ~ (uutils) run COMMAND, ignoring hangup signals"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_nproc"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "nproc ~ (uutils) display the number of processing units available"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_numfmt"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "numfmt ~ (uutils) reformat NUMBER"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_od"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "od ~ (uutils) display formatted representation of input"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_paste"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "paste ~ (uutils) merge lines from inputs"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_pathchk"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "pathchk ~ (uutils) diagnose invalid or non-portable PATHNAME"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_pinky"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "pinky ~ (uutils) display user information"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_pr"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "pr ~ (uutils) convert text files for printing"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_printenv"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "printenv ~ (uutils) display value of environment VAR"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_printf"
version = "0.0.9"
version = "0.0.12"
authors = [
"Nathan Ross",
"uutils developers",

View file

@ -1,6 +1,6 @@
[package]
name = "uu_ptx"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "ptx ~ (uutils) display a permuted index of input"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_pwd"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "pwd ~ (uutils) display current working directory"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_readlink"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "readlink ~ (uutils) display resolved path of PATHNAME"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_realpath"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "realpath ~ (uutils) display resolved absolute path of PATHNAME"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_relpath"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "relpath ~ (uutils) display relative path of PATHNAME_TO from PATHNAME_FROM"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_rm"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "rm ~ (uutils) remove PATHNAME"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_rmdir"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "rmdir ~ (uutils) remove empty DIRECTORY"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_runcon"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "runcon ~ (uutils) run command with specified security context"

View file

@ -1,7 +1,7 @@
# spell-checker:ignore bigdecimal
[package]
name = "uu_seq"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "seq ~ (uutils) display a sequence of numbers"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_shred"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "shred ~ (uutils) hide former FILE contents with repeated overwrites"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_shuf"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "shuf ~ (uutils) display random permutations of input lines"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_sleep"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "sleep ~ (uutils) pause for DURATION"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_sort"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "sort ~ (uutils) sort input lines"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_split"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "split ~ (uutils) split input into output files"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_stat"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "stat ~ (uutils) display FILE status"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_stdbuf"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "stdbuf ~ (uutils) run COMMAND with modified standard stream buffering"
@ -21,7 +21,7 @@ uucore = { version=">=0.0.11", package="uucore", path="../../uucore" }
uucore_procs = { version=">=0.0.8", package="uucore_procs", path="../../uucore_procs" }
[build-dependencies]
libstdbuf = { version="0.0.9", package="uu_stdbuf_libstdbuf", path="src/libstdbuf" }
libstdbuf = { version="0.0.12", package="uu_stdbuf_libstdbuf", path="src/libstdbuf" }
[[bin]]
name = "stdbuf"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_stdbuf_libstdbuf"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "stdbuf/libstdbuf ~ (uutils); dynamic library required for stdbuf"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_sum"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "sum ~ (uutils) display checksum and block counts for input"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_sync"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "sync ~ (uutils) synchronize cache writes to storage"

View file

@ -2,7 +2,7 @@
[package]
name = "uu_tac"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "tac ~ (uutils) concatenate and display input lines in reverse order"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_tail"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "tail ~ (uutils) display the last lines of input"

83
src/uu/tail/src/lines.rs Normal file
View file

@ -0,0 +1,83 @@
// * This file is part of the uutils coreutils package.
// *
// * For the full copyright and license information, please view the LICENSE
// * file that was distributed with this source code.
//! Iterate over lines, including the line ending character(s).
//!
//! This module provides the [`lines`] function, similar to the
//! [`BufRead::lines`] method. While the [`BufRead::lines`] method
//! yields [`String`] instances that do not include the line ending
//! characters (`"\n"` or `"\r\n"`), our function yields [`String`]
//! instances that include the line ending characters. This is useful
//! if the input data does not end with a newline character and you
//! want to preserve the exact form of the input data.
use std::io::BufRead;
/// Returns an iterator over the lines, including line ending characters.
///
/// This function is just like [`BufRead::lines`], but it includes the
/// line ending characters in each yielded [`String`] if the input
/// data has them.
///
/// # Examples
///
/// If the input data does not end with a newline character (`'\n'`),
/// then the last [`String`] yielded by this iterator also does not
/// end with a newline:
///
/// ```rust,ignore
/// use std::io::BufRead;
/// use std::io::Cursor;
///
/// let cursor = Cursor::new(b"x\ny\nz");
/// let mut it = cursor.lines();
///
/// assert_eq!(it.next(), Some(String::from("x\n")));
/// assert_eq!(it.next(), Some(String::from("y\n")));
/// assert_eq!(it.next(), Some(String::from("z")));
/// assert_eq!(it.next(), None);
/// ```
pub(crate) fn lines<B>(reader: B) -> Lines<B>
where
B: BufRead,
{
Lines { buf: reader }
}
/// An iterator over the lines of an instance of `BufRead`.
///
/// This struct is generally created by calling [`lines`] on a `BufRead`.
/// Please see the documentation of [`lines`] for more details.
pub(crate) struct Lines<B> {
buf: B,
}
impl<B: BufRead> Iterator for Lines<B> {
type Item = std::io::Result<String>;
fn next(&mut self) -> Option<std::io::Result<String>> {
let mut buf = String::new();
match self.buf.read_line(&mut buf) {
Ok(0) => None,
Ok(_n) => Some(Ok(buf)),
Err(e) => Some(Err(e)),
}
}
}
#[cfg(test)]
mod tests {
use crate::lines::lines;
use std::io::Cursor;
#[test]
fn test_lines() {
let cursor = Cursor::new(b"x\ny\nz");
let mut it = lines(cursor).map(|l| l.unwrap());
assert_eq!(it.next(), Some(String::from("x\n")));
assert_eq!(it.next(), Some(String::from("y\n")));
assert_eq!(it.next(), Some(String::from("z")));
assert_eq!(it.next(), None);
}
}

View file

@ -16,9 +16,11 @@ extern crate clap;
extern crate uucore;
mod chunks;
mod lines;
mod parse;
mod platform;
use chunks::ReverseChunks;
use lines::lines;
use clap::{App, Arg};
use std::collections::VecDeque;
@ -30,7 +32,7 @@ use std::path::Path;
use std::thread::sleep;
use std::time::Duration;
use uucore::display::Quotable;
use uucore::error::{UResult, USimpleError};
use uucore::error::{FromIo, UResult, USimpleError};
use uucore::parse_size::{parse_size, ParseSizeError};
use uucore::ringbuffer::RingBuffer;
@ -220,7 +222,8 @@ fn uu_tail(settings: &Settings) -> UResult<()> {
if path.is_dir() {
continue;
}
let mut file = File::open(&path).unwrap();
let mut file = File::open(&path)
.map_err_context(|| format!("cannot open {} for reading", filename.quote()))?;
let md = file.metadata().unwrap();
if is_seekable(&mut file) && get_block_size(&md) > 0 {
bounded_tail(&mut file, settings);
@ -481,8 +484,8 @@ fn unbounded_tail<T: Read>(reader: &mut BufReader<T>, settings: &Settings) -> UR
// data in the ringbuf.
match settings.mode {
FilterMode::Lines(count, _) => {
for line in unbounded_tail_collect(reader.lines(), count, settings.beginning) {
println!("{}", line);
for line in unbounded_tail_collect(lines(reader), count, settings.beginning) {
print!("{}", line);
}
}
FilterMode::Bytes(count) => {

View file

@ -1,6 +1,6 @@
[package]
name = "uu_tee"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "tee ~ (uutils) display input and copy to FILE"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_test"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "test ~ (uutils) evaluate comparison and file type expressions"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_timeout"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "timeout ~ (uutils) run COMMAND with a DURATION time limit"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_touch"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "touch ~ (uutils) change FILE timestamps"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_tr"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "tr ~ (uutils) translate characters within input and display"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_true"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "true ~ (uutils) do nothing and succeed"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_truncate"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "truncate ~ (uutils) truncate (or extend) FILE to SIZE"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_tsort"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "tsort ~ (uutils) topologically sort input (partially ordered) pairs"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_tty"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "tty ~ (uutils) display the name of the terminal connected to standard input"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_uname"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "uname ~ (uutils) display system information"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_unexpand"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "unexpand ~ (uutils) convert input spaces to tabs"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_uniq"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "uniq ~ (uutils) filter identical adjacent lines from input"

View file

@ -1,6 +1,6 @@
[package]
name = "uu_unlink"
version = "0.0.9"
version = "0.0.12"
authors = ["uutils developers"]
license = "MIT"
description = "unlink ~ (uutils) remove a (file system) link to FILE"

Some files were not shown because too many files have changed in this diff Show more