次の内容のデータファイルがあります。
department: customer service section: A
department: marketing section: A
department: finance section: A
各行を読みながらコマンドを使用して部門名を抽出しますcut
。残念ながら、プログラムはtrim
不要なスペースをすべて自動的に削除するので、誤って部門名を切りました。
cat dept.dat | while read line
do
echo $line
echo $line | cut -c 12-29
done
たとえば、元の行は次のようになります。
department: marketing section: A
プログラムはこの行を次のように処理します。
department: marketing section: A
不要なスペースをすべて切り取ることなく、どのように行を読むことができますか?
ベストアンサー1
拡張するとスペースが失われます$line
。変数拡張の周りに二重引用符を入れると、空白が保持されます。
$ cat dept.dat | while read line
> do
> echo "$line"
> echo "$line" | cut -c 12-29"
> done
department: customer service section: A
customer service
department: marketing section: A
marketing
department: finance section: A
finance