3

これが私のコードです

michal@argon:~$ cat test.txt 
1
  2
    3
      4
        5
michal@argon:~$ cat test.txt | while read line;do echo $line;done > new.txt
michal@argon:~$ cat new.txt
1
2
3
4
5

コマンドがスペース文字をフィルタリングした理由がわかりませんecho $line。test.txt と new.txt をまったく同じにしたいのです。

助けてください、ありがとう。

4

3 に答える 3

6

コードに関するいくつかの問題。

  1. $parameterの外側" "。しないでください。
  2. read$IFS入力行を単語に分割するために使用するため、これを無効にする必要があります。
  3. UUOC

要約する:

 while IFS= read line ; do echo "$line" ; done < test.txt > new.txt
于 2013-05-22T20:23:02.050 に答える
1

これを試して -

$ oldIFS="$IFS"; IFS=""; while read line;do echo $line >> new.txt ;done < test.txt; IFS="$oldIFS"

$ cat new.txt
1
  2
      3
            4
                    5
于 2013-05-22T20:03:52.237 に答える