2011年03月23日 GNU java
_ GNU java
実行形式を作成&実行する方法。
$ gcj -Wall -o Hello --main=Hello Hello.java $ ./Hello Hello World $
- -o Hello で実行形式ファイルを指定。
- --main=Hello で main()を含むクラス名を指定。
クラスファイルを作成&実行する方法。
$ gcj -C Hello.java $ gij Hello Hello World $
[ツッコミを入れる]
2016年03月23日 My first PowerShell programming
_ My first PowerShell programming
000_hello.ps1
write-output "こんにちは、PowerShell!"
001_stdio.ps1
Write-Output "文字列1"
$output = "文字列1" + "文字列2"
Write-Output $output
# Read-Hostはキーボードからの入力。標準入力からの読み取りではない!
$input = Read-Host "入力1"
Write-Output $input
# Write-Hostは画面への出力。標準出力への書き出しではない!
Write-Host -NoNewline "入力2 -> "
$input = Read-Host
Write-Output $input
[Console]::Out.write("入力3:")
$input = [Console]::In.readLine()
[Console]::Out.writeLine($input)
$input = Read-Host -AsSecureString "パスワード"
$ptr = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($input)
$password = [System.Runtime.InteropServices.Marshal]::PtrToStringBSTR($ptr)
[System.Runtime.InteropServices.Marshal]::ZeroFreeBSTR($ptr);
Write-Output $password
002_variable.ps1
$a = "文字列1" Write-Output $a Write-Output "文字列は $a" Write-Output '文字列は $a' $a = "文字列1" $b = "文字列2" $c = '$c=' + $a + $b Write-Output $c
003_array.ps1
$array1 = @("項目1", "項目2", "項目3")
Write-Output $array1[0]
Write-Output $array1[1]
Write-Output $array1[2]
$array2 = New-Object "object[]" 3
$array2[0] = "項目1"
$array2[1] = "項目2"
$array2[2] = "項目3"
Write-Output $array2[0]
Write-Output $array2[1]
Write-Output $array2[2]
$hash_array1 = @{"みかん" = "オレンジ色" ; "イチゴ" = "赤色" ; "レモン" = "黄色"}
Write-Output $hash_array1["イチゴ"]
$hash_array2 = @{}
$hash_array2.Add("みかん","オレンジ色")
$hash_array2.Add("イチゴ","赤色")
$hash_array2.Add("レモン","黄色")
Write-Output $hash_array2["レモン"]
004_operator.ps1
$a = "文字列1" $b = "文字列2" $c = $a + $b Write-Output $c $a = "文字列1" $b = 3 $c = $a * $b Write-Output $c $a = 5 $b = 2 $c = $a + $b Write-Output $c $a = 5 $b = 2 $c = $a - $b Write-Output $c $a = 5 $b = 2 $c = $a * $b Write-Output $c $a = 5 $b = 2 $c = $a / $b Write-Output $c $a = 5 $b = 2 $c = $a % $b Write-Output $c $c = [Math]::Pow($a, $b) Write-Output $c $a++ Write-Output $a $b-- Write-Output $b
005_if.ps1
$a = 100
if ($a -eq 10){
Write-output '$a is 10'
}elseif ($a -eq 100){
Write-output '$a is 100'
}else{
Write-output '$a is unknown'
}
if ($a -ne 10){
Write-output '$a is not 10'
}
if ($a -gt 10){
Write-output '$a is greater than 10'
}
if ($a -ge 10){
Write-output '$a is greater equal than 10'
}
if ($a -lt 200){
Write-output '$a is less than 200'
}
if ($a -le 200){
Write-output '$a is less equal than 200'
}
006_while.ps1
$a = 0
while ($a -lt 5){
Write-output $a
$a++
}
007_for.ps1
for ($a = 0; $a -lt 5; $a++){
Write-Output $a
}
$array = @(10,20,30)
foreach ($i in $array){
$sum += $i;
}
Write-Output $sum
$hash_array = @{"りんご" = "赤色"; "レモン" = "黄色"; "みかん" = "オレンジ色"}
foreach ($i in $hash_array.keys){
Write-Output $hash_array[$i]
}
008_file.ps1
Write-Output "1行目" | Out-File -encoding Default 008_file.txt
Write-Output "2行目" | Out-File -encoding Default -Append 008_file.txt
Write-Output "3行目" | Out-File -encoding Default -Append 008_file.txt
$line = 0
Get-Content 008_file.txt |
ForEach-Object {
$line++
$out = "$line => $_"
Write-Output $out
}
$objR = New-Object System.IO.StreamReader("008_file.txt", [Text.Encoding]::GetEncoding("Shift_JIS"))
$append_sw = $false
$objW = New-Object System.IO.StreamWriter("008_file2.txt", $append_sw,[Text.Encoding]::UTF8)
while (($rec = $objR.readLine()) -ne $null){
$objW.writeLine($rec)
}
$objR.close()
$objW.close()
009_regex.ps1
$a = "abcde"
if ($a -match "^a.*e"){
Write-Output "matched!"
}
if ($a -notmatch "^a.*e"){
Write-Output "not matched!"
}else{
Write-Output "matched!"
}
$b = $a -replace "b.*d","BCD"
Write-Output $b
$b = $a -replace '(b).*d','$1CD'
Write-Output $b
$a = "文字列1,文字列2,,文字列3"
$array = $a -split ",,*"
foreach ($i in $array){
Write-Output $i
}
010_string.ps1
$a = "abcdefg" Write-Output $a.Length Write-Output $a.substring(2,3)
011_function.ps1
function tasizan($a, $b){
Write-Output ($a + $b)
}
$out = tasizan 10 20
Write-Output "10 + 20 = $out"
Get-Content *.ps1 |
&{
begin{
$count = $args[0]
$step = $args[1]
}
process{
write-output "$count $_"
$count += $step
}
end{
}
} 100 10
012_daytime.ps1
$out = get-date -uformat "%Y/%m/%d %H:%M:%S(%w)" Write-Output $out
013_arg.ps1
for ($i = 0; $i -le $args.length; $i++){
Write-Output $args[$i]
}
101_cat.ps1
$line = 0
Get-Content *.ps1 |
ForEach-Object {
$line++
$out = "${line}: $_"
Write-Output "$out"
}
102_wcl.ps1
$file = Get-Content 001*ps1
Write-Output $file.Count
(get-content 001*ps1).count
Get-Content 001*ps1 |
Measure-Object |
ForEach-Object{$_.Count}
103_cut.ps1
Get-Content 103_cut.csv |
ForEach{
$_.split(",")[4] + "," + $_.split(",")[3]
}
Get-Content 103_cut.csv |
ConvertFrom-Csv -Delimiter "," -Header "mode","date","time","size","name" |
Select-Object name,size |
ConvertTo-Csv -Delimiter ","
104_grep.ps1
Get-Content .\103_cut.csv | select-string "005_.*ps1" select-string "005_.*ps1" 103_cut.csv select-string -NotMatch "005_.*ps1" 103_cut.csv
105_head.ps1
Get-Content 103_cut.csv | Select-Object -First 3
106_sed.ps1
Get-Content .\103_cut.csv |
foreach{
$_ -replace ".ps1$",".PS1"
}
107_sel.ps1
Get-Content 103_cut.csv |
ForEach{
if ([int]$_.split(",")[3] -gt 100){
$_.split(",")[4] + "," + $_.split(",")[3]
}
}
Get-Content 103_cut.csv |
ConvertFrom-Csv -Delimiter "," -Header "mode","date","time","size","name" |
Where-Object {[int]$_.size -gt 100}|
Select-Object name,size |
ConvertTo-Csv -Delimiter ","
108_sort.ps1
Get-Content 103_cut.csv |
ConvertFrom-Csv -Delimiter "," -Header "mode","date","time","size","name" |
Sort-Object size |
ConvertTo-Csv -Delimiter ","
Get-Content 103_cut.csv |
ConvertFrom-Csv -Delimiter "," -Header "mode","date","time","size","name" |
Sort-Object {[int]$_.size} |
ConvertTo-Csv -Delimiter ","
109_tee.ps1
Get-Content 103_cut.csv | Tee-Object 109_tee.txt
110_tail.ps1
Get-Content 103_cut.csv | Select-Object -Last 3
111_uniq.ps1
function uniqd (){
begin{
$first_sw = "on"
}
process{
if ($first_sw -eq "on"){
$rec = $_
$first_sw = "off"
$dup_sw = "off"
}else{
if ($rec -eq $_){
$dup_sw = "on"
}else{
if ($dup_sw -eq "on"){
write-output $rec
}
$rec = $_
$dup_sw = "off"
}
}
}
end{
if ($dup_sw -eq "on"){
write-output $rec
}
}
}
Get-Content 111_uniq.txt |
Select-Object -Unique
Get-Content 111_uniq.txt |
Sort-Object |
uniqd
Get-Content 111_uniq.txt |
Sort-Object |
&{
begin{
$first_sw = "on"
$count = 0
}
process{
if ($first_sw -eq "on"){
$rec = $_
$count++
$first_sw = "off"
}else{
if ($rec -eq $_){
$count++
}else{
write-output "$count $rec"
$count = 0
$rec = $_
$count++
}
}
}
end{
write-output "$count $rec"
}
}
112_xls2csv.ps1
$intSheetNum = 1
$strSheetName = "Sheet1"
Get-ChildItem *.xls* |
ForEach-Object {
$InPath = resolve-path $_.Name
$OutPath = $InPath -replace ".xls.*", ".csv"
$objExcel = New-Object -ComObject Excel.Application
$objExcel.DisplayAlerts = $false
$objExcel.Workbooks.open($InPath)
# $objSheet = $objExcel.Worksheets.Item($intSheetNum)
$objSheet = $objExcel.Worksheets.Item($strSheetName)
$objSheet.SaveAs($OutPath, 6)
$objExcel.Workbooks.Close()
$objExcel.Quit()
}
[ツッコミを入れる]