Albretch Mueller <lbrt...@gmail.com> wrote: > echo "abc123" > file.txt > ftype=$(file --brief file.txt) > echo "// __ \$ftype: |${ftype}|" > ftypelen=${#ftype} > echo "// __ \$ftypelen: |${ftypelen}|" > > # removing spaces ... > ftype2=$(echo "${ftype}" | tr --complement --squeeze-repeats > '[A-Za-z0-9.]' '_'); > echo "// __ \$ftype2: |${ftype2}|" > ftype2len=${#ftype2} > echo "// __ \$ftype2len: |${ftype2len}|" > > lbrtchx
Short answer. tr doesn't append anything. echo does output a linefeed at the end of the string, unless you stop it. tr dutifully translates that to an underscore.