Re: why would "tr --complement --squeeze-repeats ..." append the substitution char once more? ...
On Mon, Dec 11, 2023 at 11:25:13AM +0000, Albretch Mueller wrote:
> In the case of: "ASCII text"
> what should come out of it is: "ASCII_text"
> not: "ASCII_text_"
> no underscore at the end. That is the question I have.
OK, here's my guess.
The lines of code that you showed us are not actually in a script.
They're just in a FILE, and you're running a command like this:
sh myfile
Furthermore, I am guessing that the lines of code in this file have
Microsoft CR+LF line endings. Therefore, when you do a variable
assignment like
ftype=$(file --brief "$whatever")
you end up with a Carriage Return character at the end of the variable's
content (because there is one at the end of this command).
Since you never actually SHOWED US the command you ran, or the output that
was produced, which could have made this really, really obvious, we're
forced to guess. My guess might be right, or wrong. But it's the best
guess I have with the limited information you've chosen to share with us.
What I mean by "obvious" is this. Here's part of your code:
echo "abc123" > file.txt
ftype=$(file --brief file.txt)
echo "// __ \$ftype: |${ftype}|"
If my guess is correct, you got output that looks like this:
|/ __ $ftype: |ASCII text
Showing this would have made it immediately clear that a CR is involved.
Reply to: