私のテキストファイルのデータと予想される出力形式は次のとおりです。
私は試した:
cat test2.txt | tr -d "\t"
しかし、これはうまくいきません。助けてください。これは、予想される出力形式でファイルを読み取り、追加のループ処理を実行する必要があるためです。
答え1
awkを使用してください:
BEGIN { RS = "" ; }
{
printf "%s %s %s %s %s %s %s\n", $1, $2, $3, $4, $5, $6, $7
}
生産する:
WEBA 30-MAR-17 NA NOT_STARTED 01-APR-17 25-MAR-17 Target_Not_Started
WEBA 29-MAR-17 NA NOT_STARTED 01-APR-17 25-MAR-17 Target_Not_Started
WEBA 28-MAR-17 NA STARTED 01-APR-17 25-MAR-17 Target_Started
答え2
必要に応じてbashを使用できます。ループとif条件を使用してください。たとえば、次のようになります。
#!/bin/bash
filename="/root/a.txt"
while read -r line
do
if [ "$line" != "" ]; then
echo $line |tr -d "\n"
else
echo ""
fi
done <"$filename"
答え3
真珠
perl -l -00pe 'y/\n/ /' yourfile | column -t
横
< yourfile \
sed -ne '
/^WEBA/,/^$/!d
/^$/g
s/\n/ /gp
H
/^WEBA/h
' \
| column -t