Unixスクリプトで行を列に変換するのに助けが必要です。私のソースはファイルシステムです。列を行に変換するためのUnix awkスクリプティング
は、以下のスクリプトを試してみました:最新のスクリプトで
`perl -nle '
if($. == 1)
{ (@a)=/([\w - .]+)(?=,|\s*$)/g }
else
{
(@b)=/([\w - .]+)(?=,|\s*$)/g;
print "$a[0]|$b[0]|$b[1]|$b[2}|$a[$_]|$b[$_+3]" foreach (0..$#a)
}
' ip.txt >op.txt
input data from file:
src,FI,QMA,PCG,PCC,PREI,G T
PIM2016.csv,MMR.S T - RED,334,114,120,34,123,725
出力:
SRC | PIM2016.csv | MMRPPS | RED | SRC | 334 SRC | PIM2016.csv | MMRPPS | RED | FI | 114 SDRC | PIM2016.csv | MMRPPS | RED | QMA | 120 SRC | PIM2016.csv | MMRPPS | RED | PCG | 34 SRC | PIM2016.csv | MMRPPS | RED | PCC | 123 SRC | PIM2016.csv | MMRPPS | RED | PREI | 725 SRC | PIM2016.csv | MMRPPS | RED | GT |
必要な出力:
SRC | PIM2016.csv | MMRPPS | ST -Red | FI | 334 SRC | PIM2016.csv | MMRPPS | ST -Red | QMA | 114 SRC | PIM2016。 csv | MMRPPS | ST -RED | PCG | 120 SRC | PIM2016.csv | MMRPPS | ST -RED | PCC | 34 SRC | PIM2016.csv | MMRPPS | ST -RED | PREI | 123 SRC | PIM2016.csv | MMRPPS | ST -Red | GT | 725
これまでに試したことや、具体的に苦労していることを分かち合うことができましたか? – wwkudu
実際のデータには複数の行がありますか?もしそうなら、少なくとも2つのそのようなデータと予想される出力を使ってサンプル入力を変更できますか? – Sundeep
@Sundeep:はい実際のデータは2行以上です。私はサンプルデータを変更します – udayadevan