に(パイプ区切り)。シェルスクリプトをpowershellに変換したい。ファイル読み取りライン・バイ・ライン/フィールド・バイ・フィールド実際PowerShellで初心者のPowerShell
私は3行が含まれていsample.txt
ファイルを持っています。私は、異なる変数に並んでいる各単語を選択し、次のif条件でどの変数を使用する必要があるのですか。
grep "^[^#]" ./sample.txt > test.txt
for line in `cat test.txt`
do
dir=`echo $line | cut -d'|' -f1`
metadata_name=`echo $line | cut -d'|' -f2`
metadata_file=`echo $line | cut -d'|' -f3`
config_file=`echo $line | cut -d'|' -f4`
if [ "${config_file}" != "" ]
then
cp ${dir}.xml folder1/.
のPowerShellにシェルを変換する方法を、私を助けてください:
get-content sample.txt
wordone|secondword|thridword|fourthword
wordone1|secondword1|thridword1|fourthword1
wordone2|secondword2|thridword2|fourthword2
は、私はすでにシェルスクリプトを持っています。
の
-WhatIf
パラメータを削除し、[適切にあなたのコードとサンプルの入力/出力をフォーマット]にしてください(のhttp:/ /meta.stackexchange.com/a/22189/248777)。 – mklement0私はPowerShellと話すことはできませんが、オリジナルのbashスクリプトは実際には非効率でバグが多いです。 'IFS = '|' read -r dir metadata_nameメタデータファイルconfig_file; -n "$ config_file" && cp - "$ dir.xml"フォルダ1をテストします。 ( 'cat'と' cut'を外部で呼び出すのではなく、シェル自体に組み込まれたコマンドだけを使って、サブシェルを取り除く必要はありません)しかしかなり正確です。 –
bashでファイルを正しく読み込む方法については、[BashFAQ#1](http://mywiki.wooledge.org/BashFAQ/001)を参照してください。実際には、他のコマンドの出力を読み込むことなく*読み込みと解析をネイティブに行うことで、おそらくPowerShellで何か似たようなことをすることができるでしょう。 –