ããã¹ããã¡ã€ã«ã®åŠç
ãããŸã§ãã³ãã³ãããã³ãããUNIXç³»OSãšç°ãªããPowerShellã§ã¯ãªããžã§ã¯ãããã€ãã©ã€ã³ã§åŠçã§ããããšãäœåºŠã説æããŸãããäžæ¹ã§ãã¹ã¯ãªããã§ããã¹ãåŠçãããããšããèŠæãããã§ããããå¿é ãããŸãããPowerShellã§ã¯ããã¹ãåŠçãå¯èœã§ãã
ä»åã¯ãããã¹ããã¡ã€ã«ãCSV圢åŒã«å å·¥ããäŸã玹ä»ããŸãããŠãŒã¶ãŒã¢ã«ãŠã³ããç€Ÿå¡æ å ±(OUããŒã¿)ãã¡ãŒã«ã¢ãã¬ã¹ãªã©ããµãŒããŒç®¡çã®äžã§ã¯ããããå人ããŒã¿ã®ããã¹ãå å·¥ã¯ããããããšã§ãã
![]() |
|
å ã®ããã¹ãã1ãŠãŒã¶ãŒããã5è¡ãã€ãååãæå±ãã¡ãŒã«ã¢ãã¬ã¹ãèšè¿°ãããŠããŸãã |
å ããŒã¿ã®ãã¡ã€ã«åã¯address.txtãšããŸãã
ãã®ããã¹ããGet-Content(çç¥åœ¢gc)ã³ãã³ãã¬ããã§èªã¿åºããŠãã€ãã©ã€ã³ã«æµããtocsv.ps1ã¹ã¯ãªããã§CSV圢åŒã«å å·¥ããŸããPowerShellã³ãã³ãã©ã€ã³ã§å®è¡ãããšããtocsv.ps1ãã«ã¬ã³ããã£ã¬ã¯ããªã«äœæããã°ã以äžã®ããã«å®è¡ããŸãã
gcãaddress.txt | .\tocsv
ãã®åºåçµæãaddress.csvãšããŠä¿åããã®ã§ããã°ãããã«ãã¡ã€ã«ä¿åçšã®ã³ãã³ãã¬ããOut-Fileã䜿ã£ãŠã以äžã®ããã«å®è¡ããŸãã
gcãaddress.txt | .\tocsv | Out-File -Encoding default -FilePath address.csv
ããã¯ãããé¢åãªèšè¿°ã§ãã
tocsvãDOSãUNIXç³»OSã®ãã£ã«ã¿ã³ãã³ãã§ããã°ããtocsv < address.txt > address.csvããªã©ã®ããã«ã<ãã䜿çšããŠããã¹ããã¡ã€ã«ãçŽæ¥ãã£ã«ã¿ã«æµã蟌ã¿ãã>ãã䜿ã£ãŠããã¹ããã¡ã€ã«ã«ãªãã€ã¬ã¯ãã§ããŸããããããPowerShellã§ã¯ã<ãã䜿çšã§ããŸãããã.\tocsv < address.txt ããšå®è¡ããããšã¯ã§ããªãã®ã§ãã
â» ã<ãã¯PowerShellã§äºçŽãããŠããŸãã®ã§ãä»åŸã®ããŒãžã§ã³ã¢ããã§ããããäœ¿ãæ¹ãã§ããããã«ãªããããããŸããã
äžæ¹ããªãã€ã¬ã¯ãã>ãã¯PowerShellã§ã䜿ããŸãã...ããåé¡ããããŸããPowerShellã§ãªãã€ã¬ã¯ãããŠãã¡ã€ã«ä¿åããå Žåãæåã³ãŒããUnicodeã«ãªã£ãŠããŸããŸããããããWindowsã§æ±ãããã¹ããã¡ã€ã«ã¯ãŸã ãŸã Shift JISã³ãŒããäž»æµã§ãããããæ±çšçãªããã¹ããã¡ã€ã«ãäœæããããã«ã¯ãShift JISã³ãŒãã§ä¿åããªããã°ãªããŸããããã®ããã«Out-Fileã䜿çšããŸããOut-Fileã®äœ¿ãæ¹ã¯ä»¥äžã®éãã§ãã
Out-File -Encoding æåã³ãŒãçš®å¥ -FilePath ä¿åãããã¡ã€ã«ãã¹
â» æåã³ãŒãçš®å¥ã«defaultãæå®ãããšShift JISã³ãŒãã§ä¿åããã®ã§ãããShift JISã³ãŒããdefault(æ¢å®)ãªã®ã«ãªãã€ã¬ã¯ããããšUnicodeã§ä¿åãããã®ã¯ãéç¶ãšããªã仿§ã§ãã
èªã¿åºããè¡ããšããŸãšããŠåºåããããã°ã©ã
tocsv.ps1 ã®ã¹ã¯ãªããããã°ã©ã ã¯ä»¥äžã®éãã§ãããã®ããã°ã©ã ã¯ãå ã®ãã¡ã€ã«ã®5è¡ãã«ã³ãã§æ¥ç¶ããŠ1ã¬ã³ãŒã(1è¡)ã«ããŸããåºæ¬çãªããã°ã©ã æ§é ãšããŠã¯ã5è¡èªã¿èŸŒããã³ã«æŽåœ¢ããŠ1è¡ãåºåããç¹°ãè¿ãã§ã5è¡ã1è¡ã«ãŸãšããããã«ã¯ãé å倿°ãå©çšããŸãã以äžã®å 容ãã¡ã¢åž³ãªã©ã§äœæããtocsv.ps1ãšããŠä¿åããŸãã
#5è¡ããŸãšããŠ1è¡ã®CSV圢åŒã¬ã³ãŒãã«ãã
begin {
$i = 0
$r = "", "", "", "", ""
}
process {
if ($i -lt 5) {
$r[$i] = $_
$i++
}
if ($i -eq 5) {
$r[0] + "," + $r[1] + "," + $r[2] + "," + $r[3] + "," + $r[4]
$i = 0
$r = "", "", "", "", ""
}
}
![]() |
|
ã¡ã¢åž³ã§ã¹ã¯ãªããããã°ã©ã ãäœæãããã¡ã€ã«åãtocsv.ps1ãšããŠä¿åã |
è¡é ã«#ãèšè¿°ããè¡ã¯ã³ã¡ã³ãè¡ã§ããããã°ã©ã ãšããŠå®è¡ããŸããã®ã§ãããã°ã©ã ã®ã¡ã¢æžããªã©ã«å©çšã§ããŸãã
â» ãã£ã«ã¿ãäœæããbegin{} process{}ãããã¯ã®è©³çްã«ã€ããŠã¯ãåœé£èŒã®ç¬¬9åãåç §ããŠäžããã
以äžãããã°ã©ã ã®è©³çްã«ã€ããŠèª¬æããŸãã
é å倿°
begin{}ãããã¯ã§ãè¡æ°ãæ°ããããã«äœ¿çšãã倿°$iãšã5è¡åã®ããŒã¿ãä¿åããé å倿°$rãåæåããŸããé åãšã¯åãååãæã€å€æ°ã®éåã§ããã®éåã®ãã¡äœçªç®ã®å€æ°ããã€ã³ããã¯ã¹(玢åŒ)ã§æå®ããŸããããšãã°ã$r[3]ãšããã®ã¯ã$rãšããé å倿°ã®4çªç®ã®å€æ°ãæå³ããŸãã
â» ã€ã³ããã¯ã¹ã¯0ããå§ãŸããŸããã€ãŸã$r[0]ããã®é åã®å é ã®å€æ°ã§ãããâçªç®ããšããèãæ¹ããããš0ããå§ãŸãã®ã¯äžèªç¶ã«æããŸãããå é ããã®ãªãã»ãã(å·®å)ã§è¡šçŸããããã«ãããªããŸããå é ã®å€æ°ã¯ãå é ããã®å·®ã0ãªã®ã§$r[0]ã5çªç®ã®ããŒã¿ã§ããã°å é ããã®å·®ã4ãªã®ã§$r[4]ãšãªããŸãã
é åã«ã¯ä»¥äžã®ããã«åã ã®å€æ°ã«ã1è¡1倿°ã§èšè¿°ããŠå€ãä»£å ¥ããããšãã§ããŸãã
$r[0] = "abc"
$r[1] = "def"
$r[2] = "ghi"
ãããã以äžã®ããã«åæããŠ1è¡ã®èšè¿°ã§ä»£å ¥ããããšãã§ããŸãã
$r = "abc", "def", "ghi"
ãŸãã@()å ã«ã»ãã³ãã³ã§åæããŠ1è¡ã®èšè¿°ã«ããããšãã§ããŸãã
$r = @("abd"; "def"; "ghi")
â» @()ã䜿ã£ãæ¹æ³ã§ã¯ã@()ã«ã³ãã³ãã©ã€ã³çžåœã®èšè¿°ãããŠãã³ãã³ãã¬ããã®åºåãªããžã§ã¯ããé ååããããšãã§ããŸãã
process{}ãããã¯ã«ããç¹°ãè¿ãåŠç
process {}ãããã¯ã¯ãaddress.txtããã®è¡ããšã®åŠçã§ããèªã¿èŸŒãã ãªããžã§ã¯ã(ãã®å Žåã¯address.txtã®åè¡)ã¯ã$_ãã§åç §ã§ããŸãã
$iã¯ãäœè¡èªã¿èŸŒãã ããæ°ããããã«äœ¿ã倿°ã§ãã$iã5æªæºã§ããã°($i -lt 5)ã$iãã€ã³ããã¯ã¹ãšããŠ$ré å倿°ã«èªã¿èŸŒãã 1è¡($_)ã$r[$i]ã«ä»£å ¥ããŸãããããŠã次ã®è¡ã«åããŠ$iã1ã€å¢ãããŸãã$i++ã¯$iã®å€ã1å¢ããåŠçã§ã$i = $i + 1ãããã¯$i += 1ãšèšè¿°ããŠãåãçµæã«ãªããŸãã
$iã5ã«ãªãã°($i -eq 5)ã$r[0]ïœ$[4]ã®5è¡ã®ããŒã¿ãã«ã³ãã§çµãã§åºåãã$iã$rã®å€ãååæåããŸãã
ããã°ã©ã äžã«ä»£å ¥å ã®ãªãåŒãèšè¿°ãããšãããã®åŒã®å€ã衚瀺ããŸãã
ããšãã°ã
$str = "abc"
ãšèšè¿°ããã°ã$strãšãã倿°ã«"abc"ãšããå€ãä»£å ¥ãããã ãã§ãäœã衚瀺ãããŸããããããã
"abc"
ãšèšè¿°ããã°ã"abc"ãšããå€ã衚瀺ãããŸããèšã£ãŠã¿ãã°ãä»£å ¥å ãçç¥ãããšãã®ä»£å ¥å ãç»é¢ãšèããŠãããã§ãããã
ãªããæ³šæãå¿ èŠãªã®ã¯ãreturnã§ãã
return "abc"
ãšèšè¿°ããŠããç»é¢ã«è¡šç€ºããŸãããã®éãã¯äœã...returnã®å Žåã¯ãå€ã衚瀺ããã ãã§ãªãããã®äœçœ®ã§åŠçãæãåºããçµäºããããšãæå³ããŸãã
ããšãã°ã以äžã®ãããªé¢æ°ãäœæããŠã¿ãŸãã
function test {
"abc"
return "def"
"hij"
}
ãã®testãå®è¡ãããšãabcãšdefã¯è¡šç€ºããŸãããhijã衚瀺ããã«ããã°ã©ã ãçµäºããŠããŸããŸãã
ãµã³ãã«ã¹ã¯ãªããããã°ã©ã tocsv.ps1ã®å®è¡
address.txtãGet-Content(gc)ã§èªã¿åºããŠtocsv.ps1ã§å å·¥ããaddress.csvãšããŠä¿åããã«ã¯ã以äžã®ããã«å®è¡ããŸãã
gc address.txt | .\tocsv | Out-File -Encoding default -FilePath address.csv
â» åœèšäºã§ã¯äœåºŠãã衚瀺ããšãã衚çŸã䜿ã£ãŠããŸããããã®ã衚瀺ããšããåŠçã¯ãå³å¯ã«èšãã°ãã€ãã©ã€ã³(ã¹ããªãŒã )ãžã®åºåã§ãããªãã€ã¬ã¯ãå ããªããã°ç»é¢ã«è¡šç€ºããŸããããªãã€ã¬ã¯ããããã°ç»é¢ãžã¯è¡šç€ºããããã¡ã€ã«ãšããŠä¿åããããæ¬¡ã®ãã£ã«ã¿ã«éã£ããããŸãã
ãã®ããã°ã©ã ã§ã¯ãåçŽã«5è¡ãã€èªã¿èŸŒãã§1è¡ã«é£çµããŠããã ãã§ããããã°ã©ãã³ã°ã«ãªããŠããããprocess {} ãããã¯å ã§ãèªã¿èŸŒãã è¡ãé©åãªå 容ãã©ãã...ããµãããªããã²ãããªãã©ãããã¡ãŒã«ã¢ãã¬ã¹ãæ£ããã¡ãŒã«ã¢ãã¬ã¹åœ¢åŒã«ãªã£ãŠãããã©ãã...ãªã©ããã§ãã¯ããããã°ã©ã ãçµã¿èŸŒãã§ããã°ãå®æåºŠãšå®çšåºŠãæ Œæ®µã«é«ããªãã§ãããã
次åã¯ãCSVãã¡ã€ã«ãèªã¿èŸŒãã§å å·¥ããäŸã玹ä»ããŸãã






