[awk]テキストファイルの整形【列の取り出し】
WindowsだとteraEditやMIFESも
縦方向に選択もコピーも出来るので便利ですが
私の場合JeditXな人は縦方向の列でコピー取れないので
何かと不便
この形式で
B列を取り出すサンプルです。
タブ区切りテキストの場合
tell application "TextEdit"
make new document
set theResult to ""
set theResult to my ComRun(theResult)
make new text at front of paragraph 1 in text of front document with data theResult
end tell
on ComRun(theResult)
set FileAlias to choose file "変更するファイルを選択"
set FilePath to FileAlias as Unicode text
set PoFileParh to POSIX path of FilePath
set ComLine to "cat " & PoFileParh & "| awk '{print($2)}'"
return do shell script ComLine
end ComRun
こんな感じ
カンマ区切りの場合は
tell application "TextEdit"
make new document
set theResult to ""
set theResult to my ComRun(theResult)
make new text at front of paragraph 1 in text of front document with data theResult
end tell
on ComRun(theResult)
set FileAlias to choose file "変更するファイルを選択"
set FilePath to FileAlias as Unicode text
set PoFileParh to POSIX path of FilePath
set ComLine to "cat " & PoFileParh & " | awk -F\",\" '{print $2}'"
return do shell script ComLine
end ComRun
で
テキストエディタに
B列だけを取り出せます。
この手法は
エラーログの解析や
価格表などから必要な列だけを取り出すのに使えます。
print($2)($4)
とすれば
tell application "TextEdit"
make new document
set theResult to ""
set theResult to my ComRun(theResult)
make new text at front of paragraph 1 in text of front document with data theResult
end tell
on ComRun(theResult)
set FileAlias to choose file "変更するファイルを選択"
set FilePath to FileAlias as Unicode text
set PoFileParh to POSIX path of FilePath
set ComLine to "cat " & PoFileParh & "| awk '{print($2)($4)}'"
return do shell script ComLine
end ComRun
B列とD列を取り出せます。
結構便利ですよ。
「awk_sample.zip」をダウンロード[Download]
| 固定リンク
「AppleScriptCharacter」カテゴリの記事
- [AppleScripts]シングルクオトのエスケープ処理(phpを使う時のお約束)(2013.05.26)
- [AppleScript]YouTubeのBloggerボタンの代わり【Google Chrome専用-その2】(2013.02.11)
- [AppleScript]ユニコードエスケープをデコードする【その2:pythonを使う】(2013.02.10)
- [AppleScript]ユニコードエスケープをデコードする【その1:phpを使う】(2013.02.10)
- [file]テキストファイルの文字コードと改行コードを調べる(2012.01.15)
この記事へのコメントは終了しました。
コメント