いくつかのファイルのパスを持つファイルがあります。このような:
C:\Users\peter\workspace\etwas.txt
このルーチンで読んでみました
while read LINE
do
  web=$LINE
  echo $web
done <etwas.txt
結果:
C:Userspeterworkspaceetwas.txt
この形で読みます
C:/Users/peter/workspace/etwas.txt
どうやって読めるの?
bash builtinsのみを使用してこれを試してください:
while read -r LINE; do
  web="${LINE//\\//}"
  echo "$web"
done < etwas.txt
$ cat etwas.txt 
C:\Users\peter\workspace\etwas.txt
$ while read -r LINE; do
>   web="${LINE//\\//}"
>   echo "$web"
> done < etwas.txt
C:/Users/peter/workspace/etwas.txt
私はbashパラメータ拡張\を使用して置き換えます/
これを行う最もポータブルな方法(つまり、bash拡張機能に依存しないtr)は、コマンドを使用することです。
tr \\\\ / < etwas.txt | while read LINE
do
    web=$LINE
    echo $web
done
(4倍のバックスラッシュ?!ええ、シェルとそれ自体の両方trがバックスラッシュをエスケープ文字として扱うため、このコンテキストで文字通りのバックスラッシュを取得するには、そのうちの4つを記述する必要があります'\\'。)
警告:入力をに配管すると、ループの内容がサブシェルで実行されるwhile 可能性がありますが、そうではない可能性があります。