http://www.computing.net/answers/unix/write-to-file/2878.html
echo `date` Success > logs.txt
echo `date` Success >> logs.txt
키워드 : Write to Text File
Wednesday, March 31, 2010
bash String Manipulations 및 Tuesday's Tips for shell scripting
bash String Manipulations
dirname $f
basename $f
basename $f .txt
/home/myplace/a.data.directory
a.filename.txt
a.filename
Tuesday's Tips for shell scripting
셸 스크립트에서 printf 도 가능.
printf "%s\n" $A
다만 다음과 같은 multiline variable은 쓸수 없는듯
MYVAR=`printf "%s\n%s" $A $B`
최근 버전의 bash 에서는 다음과 같이 쓸수 있음
$ echo {1..13}
1 2 3 4 5 6 7 8 9 10 11 12 13
$ echo {z..o}
z y x w v u t s r q p o
랜덤 변수
echo $RANDOM
dirname $f
basename $f
basename $f .txt
/home/myplace/a.data.directory
a.filename.txt
a.filename
Tuesday's Tips for shell scripting
셸 스크립트에서 printf 도 가능.
printf "%s\n" $A
다만 다음과 같은 multiline variable은 쓸수 없는듯
MYVAR=`printf "%s\n%s" $A $B`
최근 버전의 bash 에서는 다음과 같이 쓸수 있음
$ echo {1..13}
1 2 3 4 5 6 7 8 9 10 11 12 13
$ echo {z..o}
z y x w v u t s r q p o
랜덤 변수
echo $RANDOM
Labels:
UNIX
UNIX Shell의 regular expression과 한글
안되는 경우 메모.
다음은 되는데
cat "A_a"[a-z] > "동영상.avi"
다음은 되지 않는다.
cat "한_a"[a-z] > "동영상.avi"
다음은 되는데
cat "A_a"[a-z] > "동영상.avi"
다음은 되지 않는다.
cat "한_a"[a-z] > "동영상.avi"
Labels:
UNIX
UNIX Shell의 echo command와 newline
newline 없이 echo 하려면
-n : no newline
echo -n text
newline 을 찍어주려면
-e : enable backslash escapes
echo -e "This is line1\nAnd this is line 2"
-n : no newline
echo -n text
newline 을 찍어주려면
-e : enable backslash escapes
echo -e "This is line1\nAnd this is line 2"
Labels:
UNIX
AppleScript에서 스트링에 return, space, quote 쉽게 넣는 법
말 그대로, return, quote, space 라고 쓰면 된다.
예)
display dialog quote & "Love" & quote & space & "ME" & return & "HATE" & space & "YOU"
예)
display dialog quote & "Love" & quote & space & "ME" & return & "HATE" & space & "YOU"
Labels:
AppleScript
UNIX Shell(bash) 에서 echo off 하는 방법
질문 : AppleScript에서 UNIX shell script 실행시 명령어를 표기하고 싶지 않을 경우, 어떻게 하나?
답 :
stty -echo
하면 된다.
다시 켜려면
stty echo
하면 된다.
답 :
stty -echo
하면 된다.
다시 켜려면
stty echo
하면 된다.
Labels:
AppleScript,
UNIX
Monday, March 29, 2010
'MAC OS X'가 우아한 이유
좋은 글이라 링크 걸어둠 :
'MAC OS X'가 우아한 이유
인용 : 고도로 추상화된 OS 프레임워크 위에 유저의 컴퓨팅 환경을 극대화 해주는것. 그 것이 바로 맥입니다... 만일에 설치 경로가 맘에 들지 않는다면, 그냥 옮겨 주면 됩니다. 그렇게 하더라도, 윈도우의 바로가기 같은 가상본이라는 숏컷이 있지만, 자동으로 경로를 알아서 찾아 가게 됩니다. 만일 프로그램이 지워진다면 가상본은 자동으로 폭파 되는거죠. 프로그램의 이름이 바뀌어도 가상본은 자동으로 업데이트 됩니다. 사용자가 건들일 것은 전혀 없습니다...
'MAC OS X'가 우아한 이유
인용 : 고도로 추상화된 OS 프레임워크 위에 유저의 컴퓨팅 환경을 극대화 해주는것. 그 것이 바로 맥입니다... 만일에 설치 경로가 맘에 들지 않는다면, 그냥 옮겨 주면 됩니다. 그렇게 하더라도, 윈도우의 바로가기 같은 가상본이라는 숏컷이 있지만, 자동으로 경로를 알아서 찾아 가게 됩니다. 만일 프로그램이 지워진다면 가상본은 자동으로 폭파 되는거죠. 프로그램의 이름이 바뀌어도 가상본은 자동으로 업데이트 됩니다. 사용자가 건들일 것은 전혀 없습니다...
Labels:
OS
UNIX Shell 에서 현재 날짜 얻어내기
질문 : UNIX Shell에서 날짜를 얻어내려면 어떻게 하나?
답 :
date 명령을 쓴다. 그냥 date 만 실행하면
레퍼런스 : http://en.wikipedia.org/wiki/Date_%28Unix%29
답 :
date 명령을 쓴다. 그냥 date 만 실행하면
Mon Mar 29 07:14:23 KST 2010와 같이 나오므로, AppleScript 등이 다루기 쉬운 포맷된 형태로 얻고 싶으면
date "+%Y%m%d"와 같이 한다. 그러면
20100329와 같은 결과를 얻을 수 있다.
레퍼런스 : http://en.wikipedia.org/wiki/Date_%28Unix%29
Labels:
AppleScript,
UNIX
AppleScript에서 셸스크립트 실행할때, 리턴값을 받으려면 어떻게 하나?
질문 :
AppleScript에서 do shell script 수행할 때, 셸스크립트에서 리턴값 받으려면 어떻게 하나?
답 :
do shell script 명령의 리턴값은
셸스크립트에서 echo 명령으로 찍어준 것이 모두 모인 스트링을 받게 된다.
따라서 shell script 끝부분에서 리턴하고자 하는 값을 echo 해주고,
AppleScript 에서는 그 받은 값을 원하는 타입으로 casting 해서 써주면 된다.
(as integer 같은 식으로)
주의점 :
셸스크립트 여러 곳에서 echo 명령을 쓰면, 그들 스트링이 다 concatenate 되어버려서
정확한 리턴값을 받을 수 없다.
키워드 : myFileExists
AppleScript에서 do shell script 수행할 때, 셸스크립트에서 리턴값 받으려면 어떻게 하나?
답 :
do shell script 명령의 리턴값은
셸스크립트에서 echo 명령으로 찍어준 것이 모두 모인 스트링을 받게 된다.
따라서 shell script 끝부분에서 리턴하고자 하는 값을 echo 해주고,
AppleScript 에서는 그 받은 값을 원하는 타입으로 casting 해서 써주면 된다.
(as integer 같은 식으로)
주의점 :
셸스크립트 여러 곳에서 echo 명령을 쓰면, 그들 스트링이 다 concatenate 되어버려서
정확한 리턴값을 받을 수 없다.
키워드 : myFileExists
Labels:
AppleScript,
UNIX
Sunday, March 28, 2010
AppleScript로 새 text파일 생성하기/ Date/Time 찍기
Creating files and writing to them from AppleScript is a little complicated. It's easier to use AppleScript for what it's really intended for: automating existing applications.
Or you could use the shell.
Simple Applescript: Create a .txt file
tell application "TextEdit"날짜 시간 찍는 방법에 대해 보충:
activateend tell
make new document
set theDate to current date
set text of document 1 to theDate as text
save document 1 in "/Users/robbie/Desktop/LastUpdate.txt"
Or you could use the shell.
do shell script "date > $HOME/Desktop/LastUpdate.txt"If you want a running record of when the updates were ran do this (double >> )
do shell script "date >> $HOME/Desktop/LastUpdate.txt"레퍼런스 :
Simple Applescript: Create a .txt file
Labels:
AppleScript
AppleScript에서 스크립트 짠것을 source 를 공개안하고 실행파일만 배포할수 있나?
질문 :
스크립트를 다른 사람이 못읽게 하려면?
즉 실행 기능만 배포하려면?
답 :
저장시에 Run Only 옵션에 체크하면 된다.
그러나 이렇게 하면 다시는 소스를 볼 수 없으므로 반드시 카피본을 저장해두기 바란다.
Protecting your scripts from being read or changed
To protect your scripts from being read or changed, you can save them as “run-only.” Run-only scripts do not contain the readable text used in editing scripts. This can be useful if you have a script that works well and you don’t want it to be changed.
IMPORTANT:You will not be able to edit this script again if you choose Run Only. If you want to be able to change the script, be sure to save the run-only version as a copy with a different name and retain the original in the standard editable format.
출처 : AppleScript Editor Help > encoding
스크립트를 다른 사람이 못읽게 하려면?
즉 실행 기능만 배포하려면?
답 :
저장시에 Run Only 옵션에 체크하면 된다.
그러나 이렇게 하면 다시는 소스를 볼 수 없으므로 반드시 카피본을 저장해두기 바란다.
Protecting your scripts from being read or changed
To protect your scripts from being read or changed, you can save them as “run-only.” Run-only scripts do not contain the readable text used in editing scripts. This can be useful if you have a script that works well and you don’t want it to be changed.
IMPORTANT:You will not be able to edit this script again if you choose Run Only. If you want to be able to change the script, be sure to save the run-only version as a copy with a different name and retain the original in the standard editable format.
출처 : AppleScript Editor Help > encoding
Labels:
AppleScript
Saturday, March 27, 2010
AppleScript로 스트링 다루기
AppleScript Essentials Working With Text
by Benjamin S. Waldie
http://www.mactech.com/articles/mactech/Vol.21/21.07/WorkingWithText/index.html
이것이 string 다루는데 관련된 가장 좋은 튜토리얼로 보임.
본문중에서 :
The offset command is included in the String Commands suite in the Standard Additions scripting addition that is installed with Mac OS X.
last offset of 함수 구현한 것
http://www.alecjacobson.com/weblog/?p=49
by Benjamin S. Waldie
http://www.mactech.com/articles/mactech/Vol.21/21.07/WorkingWithText/index.html
이것이 string 다루는데 관련된 가장 좋은 튜토리얼로 보임.
본문중에서 :
The offset command is included in the String Commands suite in the Standard Additions scripting addition that is installed with Mac OS X.
set theFileName to "filename.jpg"레퍼런스 :
offset of "." in theFileName
--> 9
last offset of 함수 구현한 것
http://www.alecjacobson.com/weblog/?p=49
Labels:
AppleScript
AppleScript 의 dialog 에서 여러줄의 메시지를 표시하는 법
다음과 같이 하면 된다.
display dialog "Line 1
Line 2
Line 3"
(Variable에도 이와 같이 개행문자 넣어줄 수 있다.)
또는,
display dialog "Line 1" & return & "Line 2" & return & "Line 3"
하면 된다.
후자의 방법이 코드를 관리하는 데는 더 깔끔하다.
참고할 것 :
AppleScript 에서 스트링에 return, space, quote 쉽게 넣는 법
레퍼런스 : AppleScript dialog - display multiline text in a dialog
키워드 : 개행문자, lines
검색어 : google > applescript dialog newline
display dialog "Line 1
Line 2
Line 3"
(Variable에도 이와 같이 개행문자 넣어줄 수 있다.)
또는,
display dialog "Line 1" & return & "Line 2" & return & "Line 3"
하면 된다.
후자의 방법이 코드를 관리하는 데는 더 깔끔하다.
참고할 것 :
AppleScript 에서 스트링에 return, space, quote 쉽게 넣는 법
레퍼런스 : AppleScript dialog - display multiline text in a dialog
키워드 : 개행문자, lines
검색어 : google > applescript dialog newline
Labels:
AppleScript
AppleScript Drag and Drop Sample
애플스크립트에서 드래그 앤 드롭 하는 방법
Drag and drop AppleScript to convert video
on open these_items 이벤트를 사용
키워드 : drag-and-drop-apple-script-to-convert-video.html
Drag and drop AppleScript to convert video
on open these_items 이벤트를 사용
키워드 : drag-and-drop-apple-script-to-convert-video.html
Labels:
AppleScript
Mac OS X에서 파일 아이콘 바꾸는 법
질문 : 개별 파일의 icon을 바꾸려면 어떻게 하는가?
답 :
Get info 창을 열면 왼쪽 위에 아이콘이 보이는데 그걸 선택하면 아이콘 이미지가 선택되는 것이다.
따라서 다른 파일의 Get info 창에서 이미지를 복사해서 다른 파일의 Get info 창의 이미지로
붙여넣기 할수도 있고 일반 이미지 파일에서 붙여넣기 할수도 있다.
답 :
Get info 창을 열면 왼쪽 위에 아이콘이 보이는데 그걸 선택하면 아이콘 이미지가 선택되는 것이다.
따라서 다른 파일의 Get info 창에서 이미지를 복사해서 다른 파일의 Get info 창의 이미지로
붙여넣기 할수도 있고 일반 이미지 파일에서 붙여넣기 할수도 있다.
Labels:
Finder
ape, ogg, flac 등을 Mac에서 다루는 툴
사용법은 간단하다. 파일을 어플리케이션에 끌어 넣으면 변환이 된다.
flac 파일과 cue 파일이 있을 때는 cue 파일을 어플리케이션에 끌어 넣도록 한다 (flac 파일을 끌어넣으면 앨범 전체가 하나의 wav 파일이 되지만 cue 파일을 끌어넣으면 트랙별로 wav 파일이 만들어진다).
어플리케이션 설명:
X Lossless Decoder(XLD) is a tool for Mac OS X that is able to decode/convert/play various 'lossless' audio files. The supported audio files can be split into some tracks with cue sheet when decoding. It works on Mac OS X 10.3 and later.
XLD supports the following formats:
레퍼런스 :
FLAC (lossless) to iTunes Apple Lossless?
X Lossless Decoder: Lossless audio decoder for Mac OS X
SoundConverter도 좋아보이지만 유료임
flac 파일과 cue 파일이 있을 때는 cue 파일을 어플리케이션에 끌어 넣도록 한다 (flac 파일을 끌어넣으면 앨범 전체가 하나의 wav 파일이 되지만 cue 파일을 끌어넣으면 트랙별로 wav 파일이 만들어진다).
어플리케이션 설명:
X Lossless Decoder(XLD) is a tool for Mac OS X that is able to decode/convert/play various 'lossless' audio files. The supported audio files can be split into some tracks with cue sheet when decoding. It works on Mac OS X 10.3 and later.
XLD supports the following formats:
* (Ogg) FLAC (.flac/.ogg)다운로드 : X Lossless Decoder: Lossless audio decoder for Mac OS X
* Monkey's Audio (.ape)
* Wavpack (.wv)
* TTA (.tta)
* Apple Lossless (.m4a) [10.4 and later]
* AIFF, WAV, etc
레퍼런스 :
FLAC (lossless) to iTunes Apple Lossless?
X Lossless Decoder: Lossless audio decoder for Mac OS X
SoundConverter도 좋아보이지만 유료임
Labels:
음악
UNIX Shell 에서 arguments 다루기
script의 argument 및 argument 수 등 얻어내기
UNIX Shell 에서 if, elif(else if), else, fi 사용 및 condition 비교문
if...elif...fi condition in Unix
echo "num args : $#"설명 :
if [ $# -eq 3 ]; then
echo "arg3:"$3elif [ $# -eq 2 ]; then
echo "arg2:"$2else
echo "exception"fi
arguments의 수 : $#레퍼런스 :
첫번째 argument : $1
argument 가 file path일때 quoted path : "$1"
UNIX Shell 에서 if, elif(else if), else, fi 사용 및 condition 비교문
if...elif...fi condition in Unix
Labels:
UNIX
UNIX Shell 에서 if, elif(else if), else, fi 사용 및 condition 비교문
if문 사용법:
echo "num args : $#"비교문 :
if [ $# -eq 3 ]; then
echo "arg3:"$3elif [ $# -eq 2 ]; then
echo "arg2:"$2else
echo "exception"fi
is equal to: eq레퍼런스 : if...elif...fi condition in Unix
is not equal to: ne
is greater than: gt
is less than: lt
is greater than or equal to: ge
is less than or equal to: le
Labels:
UNIX
TextWrangler 에서 block indentation
질문 : TextWrangler 에서 block indentation 하는 shortcut은?
답 : Command + [, ]
키워드 : hotkey, 핫키, 쇼트컷
답 : Command + [, ]
키워드 : hotkey, 핫키, 쇼트컷
Labels:
텍스트에디터
UNIX Shell(bash) 에서 filepath 를 directory명과 파일명으로 나누기
filepath=$1
dir=`dirname "$filepath"`
filename=`basename "$filepath"`
filenameonly=${filename%\.*}
ext=${filename##*.}
echo $dir
echo $filename
echo $filenameonly
echo $ext
dir=`dirname "$filepath"`
filename=`basename "$filepath"`
filenameonly=${filename%\.*}
ext=${filename##*.}
echo $dir
echo $filename
echo $filenameonly
echo $ext
Labels:
UNIX
while loop 조건에 not 조건 넣는 법
while loop 조건에 not 조건 넣는 법
[ -f $FILE ] 는 argument 로 주어진 파일이 존재하는지 여부를 알려주고
while loop 은 그 파일이 존재하지 않는 동안 loop 함.
while !([ -f "$FILE" ]);-> 코드 자체는 별 의미 없음.
do
echo "inside loop"done
break
[ -f $FILE ] 는 argument 로 주어진 파일이 존재하는지 여부를 알려주고
while loop 은 그 파일이 존재하지 않는 동안 loop 함.
Labels:
UNIX
UNIX Shell Script에서 infinite loop
while :레퍼런스 : Running a script in INFINITE LOOP
do
# 작업done
Labels:
UNIX
UNIX Shell Script에서 여러줄 comment 하는 법
:<<COMMENT
a line in the script.another line in the script
.
.
yet another line in script.
COMMENT
주의점:
:<<COMMENT와 COMMENT는 indent 하지 말 것.
indent 하면 comment 로 인식이 안되어 오동작한다.
키워드 : multiple lines, 주석
레퍼런스 : http://www.unix.com/shell-programming-scripting/33757-commenting-more-then-1-line.html
Labels:
UNIX
파일이 존재하는지 체크
Find out if file /etc/passwd file exists or not
Type the following commands:
Type the following commands:
레퍼런스 : Linux/UNIX: Find Out If File Exists With Conditional Expressions
Type the following commands:
$ [ -f /etc/passwd ] && echo "File exists" || echo "File does not exists"Find out if directory /var/logs exists or not
$ [ -f /tmp/fileonetwo ] && echo "File exists" || echo "File does not exists"
Type the following commands:
$ [ -d /var/logs ] && echo "Directory exists" || echo "Directory does not exists"다음과 같이 짤수 있음.
$ [ -d /dumper/fack ] && echo "Directory exists" || echo "Directory does not exists"
#!/bin/bash키워드 : check, shell
FILE=$1
if [ -f $FILE ];
then
echo "File $FILE exists"else
echo "File $FILE does not exists"fi
레퍼런스 : Linux/UNIX: Find Out If File Exists With Conditional Expressions
Labels:
UNIX
MIME Type 이란 무엇인가?
MIME types
MIME types are widely used in many Internet-related applications, and increasingly elsewhere, although their usage for on-disc type information is rare. These consist of a standardised system of identifiers (managed by IANA) consisting of a type and a sub-type, separated by a slash — for instance, text/html or image/gif. These were originally intended as a way of identifying what type of file was attached to an e-mail, independent of the source and target operating systems. MIME types identify files on BeOS, AmigaOS 4.0 and MorphOS, as well as store unique application signatures for application launching. In AmigaOS and MorphOS the Mime type system works in parallel with Amiga specific Datatype system.
There are problems with the MIME types though; several organisations and people have created their own MIME types without registering them properly with IANA, which makes the use of this standard awkward in some cases.
MIME types are widely used in many Internet-related applications, and increasingly elsewhere, although their usage for on-disc type information is rare. These consist of a standardised system of identifiers (managed by IANA) consisting of a type and a sub-type, separated by a slash — for instance, text/html or image/gif. These were originally intended as a way of identifying what type of file was attached to an e-mail, independent of the source and target operating systems. MIME types identify files on BeOS, AmigaOS 4.0 and MorphOS, as well as store unique application signatures for application launching. In AmigaOS and MorphOS the Mime type system works in parallel with Amiga specific Datatype system.
There are problems with the MIME types though; several organisations and people have created their own MIME types without registering them properly with IANA, which makes the use of this standard awkward in some cases.
Labels:
AppleScript,
UNIX
Thursday, March 25, 2010
AppleScript에서 다른 스크립트를 로드하는 법
AppleScript에서 다른 스크립트를 로드해서 실행하는 법.
이렇게 하면 큰 프로그램을 여러 파일로 쪼개어 관리할 수 있다.
call another applescript
how to divide very large AppleScript?
이렇게 하면 큰 프로그램을 여러 파일로 쪼개어 관리할 수 있다.
(*
--사용예. 다음과 같이 다른 스크립트를 로드해서
set myScript to myLoadOtherScript("myappCreateFileLib.scpt")
--다음과 같이 사용한다.
set filepath to myScript's myFileOpenDialog()
set newFilepath to myScript's myPrefixAddToFilename("my copy of ", filepath)
myScript's myFileCopy(filepath, newFilepath)
*)
on myLoadOtherScript(scriptLocalpath)레퍼런스 : AppleScript 'path to me' function changed in 10.5 System 10.5
set thisscriptpath to POSIX path of (path to me)end myLoadOtherScript
set dirname to do shell script "dirname " & quoted form of thisscriptpath
display dialog dirname
set filepath to dirname & "/" & scriptLocalpath
display dialog filepath
set myScript to load script (filepath as POSIX file)
return myScript
call another applescript
how to divide very large AppleScript?
Labels:
AppleScript
AppleScript 에서 script 자신의 path 를 알아내는 법
path to me 함수를 쓰면 된다.
사용예 :
AppleScript 에서 다른 스크립트를 로드하는 법
레퍼런스 :
AppleScript 'path to me' function changed in 10.5 System 10.5
사용예 :
set thisscriptpath to POSIX path of (path to me)좋은 응용예:
set dirname to do shell script "dirname " & quoted form of thisscriptpath
display dialog dirname
AppleScript 에서 다른 스크립트를 로드하는 법
레퍼런스 :
AppleScript 'path to me' function changed in 10.5 System 10.5
Labels:
AppleScript
Wednesday, March 24, 2010
인터넷에서 받은 이미지 파일의 확장자가 잘못되었거나 없는 것을 correct해주는 AppleScript
다음은, 인터넷에서 받은 Image File이 Extension이 없거나, 잘못되어있는 것을 correct 해주는 script이다.
여기에는 버그가 있는데
set myType to mySubstringBetweenFirstDelimiters(myTypeString, "image/", ";")
와 같은 함수를 사용해서 image/jpeg;
와 같은 부분만 추출해야 할 필요가 있다.
레퍼런스 :
http://henrik.nyh.se/2008/11/extension-action -> 설명
http://gist.github.com/27558 -> 소스코드
on adding folder items to myFolder after receiving myFiles버그 :
repeat with myFile in myFilesend adding folder items to
set myPath to (POSIX path of myFile)end repeat
set myType to do shell script "file --mime -br " & (quoted form of myPath)
if myType is "image/jpeg" and myPath does not end with ".jpg" and myPath does not end with ".jpeg" then
set newExtension to ".jpg"else if myType is "image/gif" and myPath does not end with ".gif" then
set newExtension to ".gif"else if myType is "image/png" and myPath does not end with ".png" then
set newExtension to ".png"else
set newExtension to nullend if
tell application "Finder"
if newExtension is not null thenend tell
set name of myFile to (name of myFile) & newExtensionend if
여기에는 버그가 있는데
set myType to mySubstringBetweenFirstDelimiters(myTypeString, "image/", ";")
와 같은 함수를 사용해서 image/jpeg;
와 같은 부분만 추출해야 할 필요가 있다.
레퍼런스 :
http://henrik.nyh.se/2008/11/extension-action -> 설명
http://gist.github.com/27558 -> 소스코드
Labels:
AppleScript
AppleScript 이용, Photoshop 으로 이미지 파일 열기
Photoshop 으로 이미지 파일 열기
set theImage to choose file with prompt "Please select an image file:"
tell application "Adobe Photoshop CS4"
-- open theImageend tell
open theImage showing dialogs never
Labels:
AppleScript
AppleScript에서 Photoshop 이용해서 특정 해상도로 image resize 해주기
포토샵을 이용해, Resolution 을 직접 지정해서 resize 해주는 예:
다음은 레퍼런스에 있던 원래 코드. 잘 안된다고 함.
Resize Image in Photoshop
myResizeImage(200, 100)
on myResizeImage(newWidth, newHeight)
tell application "Adobe Photoshop CS4"end myResizeImage
set myDoc to current documentend tell
set oldUnits to ruler units of settings
set ruler units of settings to pixel units
tell myDoc
set {w, h} to {width, height}end tell
resize image myDoc width newWidth height newHeight resample method bicubic sharper
set ruler units of settings to oldUnits
다음은 레퍼런스에 있던 원래 코드. 잘 안된다고 함.
-- ========================레퍼런스 :
-- Create and save the 20 Mb file
-- ========================
tell application "Adobe Photoshop CS2"
set doc20 to current documentend tell
-- Resize to 20 Mb
set oldUnits to ruler units of settings
set ruler units of settings to pixel units
tell doc20
set {w, h} to {width, height}end tell
-- newWidth is calculated based on the following formulas
-- 20Mb = ( 3 * (prct*w) * (prct*h) ) / 1024^2
-- newWidth = prct * w
set newWidth to ((20971520 / (w * h * 3)) ^ 0.5) * w
resize image doc20 width newWidth resolution 300 resample method bicubic sharper -- Works up to here
set ruler units of settings to inch units
resize image doc20 width oldWidth resample method none -- Errors on this line
set ruler units of settings to oldUnits
Resize Image in Photoshop
Labels:
AppleScript
Mac OS X에서 Keyboard로 menu를 activate하는 방법은?
질문 : 마우스 배터리가 떨어져서 키보드로 메뉴를 액세스하려 한다.
윈도우에서는 windows 키를 누르면 되는데, 맥에서는 어떻게 하나?
답 : 맥에서는, Control + F2 를 하면 된다.
(Apple Wireless Keyboard 에서는 Control + Fn + F2 누르면 됨)
키워드 : shortcut, hotkey, 핫키, 쇼트컷, activation, mouse, battery
Labels:
키보드
맥이 Shutdown 되지 않을 경우, 가장 안전하게 끄는 방법
질문 :
키보드도 반응이 없고 셧다운도 되지 않는데,
이럴때는 어떻게 하는 것이 가장 안전하게 끌 수 있는가?
답 :
파워 버튼을 누르면 sleep mode 가 되는데 그 상태에서는 하드가 파킹되므로
그때 전원 익스텐션을 끈다던가 해서 꺼주면 된다.
키보드도 반응이 없고 셧다운도 되지 않는데,
이럴때는 어떻게 하는 것이 가장 안전하게 끌 수 있는가?
답 :
파워 버튼을 누르면 sleep mode 가 되는데 그 상태에서는 하드가 파킹되므로
그때 전원 익스텐션을 끈다던가 해서 꺼주면 된다.
Labels:
문제해결
Tuesday, March 23, 2010
Mac OS X Terminal에서 외장하드 unmount 하는 방법
1. Terminal 에서 df 를 하면 마운트된 모든 disk들이 보인다.
2. 맨 왼쪽에 있는 것이 disk의 full unix name 인데,
3. hdiutil eject [디스크의 full unix name] 과 같이 하면 된다.
예:
hdiutil eject /dev/disk1s1
참고 : mount 명령
옵션 없이 mount 명령을 써도 현재 마운트된 하드들이 보이지만, 알아보기가 힘들다.
참고 : 터미널에서 외장하드 액세스하기
ls /Volumes
명령을 쓰면 현재 사용중인 드라이브 목록을
더 알아보기 쉽게 볼 수 있다.
cd /Volumes
로 들어가서 외장하드에 직접 액세스할 수 있다.
2. 맨 왼쪽에 있는 것이 disk의 full unix name 인데,
3. hdiutil eject [디스크의 full unix name] 과 같이 하면 된다.
예:
hdiutil eject /dev/disk1s1
참고 : mount 명령
옵션 없이 mount 명령을 써도 현재 마운트된 하드들이 보이지만, 알아보기가 힘들다.
참고 : 터미널에서 외장하드 액세스하기
ls /Volumes
명령을 쓰면 현재 사용중인 드라이브 목록을
더 알아보기 쉽게 볼 수 있다.
cd /Volumes
로 들어가서 외장하드에 직접 액세스할 수 있다.
Copy Finder Path to Clipboard
다음과 같은 스크립트를
항상 실행하기 쉽도록 다음과 같이 파인더에 shortcut을 넣어두면 편하다.
레퍼런스 : Copy Finder Path to Clipboard – Tip 1
항상 실행하기 쉽도록 다음과 같이 파인더에 shortcut을 넣어두면 편하다.
레퍼런스 : Copy Finder Path to Clipboard – Tip 1
Labels:
AppleScript
Mac terminal 또는 AppleScript에서 Screen Resolution 알아내는 방법
다음을 터미널에서 실행하면, width와 height를 각각 얻어낸다.
system_profiler SPDisplaysDataType | awk '/Resolution/{print $2}'애플스크립트에서는 다음과 같이 하면 된다.
system_profiler SPDisplaysDataType | awk '/Resolution/{print $4}'
on myGetScreenResolutionW()
return (do shell script "system_profiler SPDisplaysDataType | awk '/Resolution/{print $2}'") as integerend myGetScreenResolutionW
on myGetScreenResolutionH()
return (do shell script "system_profiler SPDisplaysDataType | awk '/Resolution/{print $4}'") as integerend myGetScreenResolutionH
Labels:
AppleScript,
UNIX
AppleScript로 Finder띄워 Folder 자동으로 여는 방법
다음과 같이 한다.
여기서는 screen의 resolution을 predefined 값으로 입력했는데, 시스템에서 얻어내는 방법은 여기에 있다.
레퍼런스 :
Quickly and Neatly Open Two Pre-Specified Finder Windows Via Applescript
property monitor_width : 1680 --set to your display resolution width
property monitor_height : 1050 --set to your display resolution height
set p1 to "/Volumes/DOWNLOADING/_NEW/" --set folder for finder window 1, spaces are okay in folder path
set a to POSIX file p1
set p2 to "/Volumes/Drobo/TV/" --set folder for finder window 2, spaces are okay in folder path
set b to POSIX file p2
tell application "Finder"
activate
tell application "Finder" --remove this tell statement if you don't want all other open finder windows to close automatically
repeat while window 1 exists
close window 1
end repeat
end tell
set this_window to make new Finder window
set the target of this_window to the a
set the bounds of this_window to {100, 50, (monitor_width div 2), (monitor_height div 1)} --edit these setting to change the size of finder window 1
set the current view of this_window to column view --change if you don't want column view
set this_window to make new Finder window
set the target of this_window to the b
set the bounds of this_window to {850, 50, (monitor_width div 1.03), (monitor_height div 1)} --edit these setting to change the size of finder window 2
set the current view of this_window to column view --change if you don't want column view
end tell
여기서는 screen의 resolution을 predefined 값으로 입력했는데, 시스템에서 얻어내는 방법은 여기에 있다.
레퍼런스 :
Quickly and Neatly Open Two Pre-Specified Finder Windows Via Applescript
Labels:
AppleScript
AppleScript로 Finder 컨트롤하기
AppleScript로 Finder 컨트롤하기
Using AppleScript to control the Finder, Five AppleScript Tips in Five Days
tell application "Finder"레퍼런스 :
close every windowend tell
open home
tell the front Finder window
set toolbar visible to trueend tell
set the sidebar width to 135
set the current view to column view
set the bounds to {36, 116, 511, 674}
open folder "Documents" of home
tell the front Finder window
set toolbar visible to falseend tell
set the current view to flow view
set the bounds to {528, 116, 1016, 674}
select the last finder window
Using AppleScript to control the Finder, Five AppleScript Tips in Five Days
Labels:
AppleScript
Monday, March 22, 2010
AppleScript Editor에서 간편하게 값을 찍어볼 수 있는 방법?
AppleScript Editor에서는 디버깅 기능이 없으므로 값을 찍어서
밑의 event log 창에서 보는 기능이 요긴하다.
(복잡한 메시지가 많으면 Events 또는 Result 라고 써진 버튼을 눌러볼 것.
그러면 단순하게 볼 수 있다.)
키워드 : debugging, debugger, log, events, 이벤트 로그
레퍼런스 : http://aurelio.net/doc/as4pp.html
밑의 event log 창에서 보는 기능이 요긴하다.
log "I am a boy"과 같이 쓰면 되고 밑의 Event Log 창에서 보면 된다.
(복잡한 메시지가 많으면 Events 또는 Result 라고 써진 버튼을 눌러볼 것.
그러면 단순하게 볼 수 있다.)
키워드 : debugging, debugger, log, events, 이벤트 로그
레퍼런스 : http://aurelio.net/doc/as4pp.html
Labels:
AppleScript
AppleScript에서 message box로 input받기
주의 : text returned 가 없으면 제대로 동작하지 않는다.
레퍼런스 : AppleScript Tutorial: Display Dialog and Returning Values
Labels:
AppleScript
AppleScript에서 string contatenation 하는 법
질문 : AppleScript에서 string contatenate 하려면?
답 :
set result to stringA & stringB
와 같이 한다.
레퍼런스 :
Concatenate two strings
답 :
set result to stringA & stringB
와 같이 한다.
레퍼런스 :
Concatenate two strings
Labels:
AppleScript
AppleScript의 loop에서 break 하는 법?
질문 : AppleScript의 loop에서 break 하려면?
답 : repeat 문에서 빠져나오려면 exit repeat 하면 된다.
레퍼런스 :
Using Repeat Loops in AppleScript
답 : repeat 문에서 빠져나오려면 exit repeat 하면 된다.
레퍼런스 :
Using Repeat Loops in AppleScript
Labels:
AppleScript
Mac OS X에서 Option key 를 이용한 특수문자 입력
주의 :
이 포스트는 윈도우에서는 문자가 깨져나오거나 표기되지 않을 수 있으므로
반드시 맥에서 볼 것
Option + L : ¬
AppleScript 에서 line 을 잇는 역할을 하는 문자이다.
Option + \ : «
Shift 를 함께 누르면 » 가 입력된다.
역시 AppleScript 에서 사용되는 문자이다.
Option + = : ≠
AppleScript 에서 A != B 를 나타낼때 A ≠ B 와 같이 쓴다.
A is not equal B 로 써도 된다.
Option + s : ß
독일어의 ss 발음 나는 기호. 베타 기호같이 생겼다 (병용 가능?)
Option + z : Ω
오메가 기호.
(이 포스트는 아직 미완성.)
이 포스트는 윈도우에서는 문자가 깨져나오거나 표기되지 않을 수 있으므로
반드시 맥에서 볼 것
Option + L : ¬
AppleScript 에서 line 을 잇는 역할을 하는 문자이다.
Option + \ : «
Shift 를 함께 누르면 » 가 입력된다.
역시 AppleScript 에서 사용되는 문자이다.
Option + = : ≠
AppleScript 에서 A != B 를 나타낼때 A ≠ B 와 같이 쓴다.
A is not equal B 로 써도 된다.
Option + s : ß
독일어의 ss 발음 나는 기호. 베타 기호같이 생겼다 (병용 가능?)
Option + z : Ω
오메가 기호.
(이 포스트는 아직 미완성.)
Labels:
AppleScript,
키보드
Add a 'Go to Parent Folder' button to the toolbar
AppleScript 를 이용한 재미있는 tip 이 있다.
Add a 'Go to Parent Folder' button to the toolbar
다음과 같이 parent directory 로 올라가는 버튼을 추가하는 것.
키워드 : 윈도우, Windows, Mac OS X, Finder, 파인더
Add a 'Go to Parent Folder' button to the toolbar
다음과 같이 parent directory 로 올라가는 버튼을 추가하는 것.
키워드 : 윈도우, Windows, Mac OS X, Finder, 파인더
Labels:
AppleScript
맥과 PC를 한 컴퓨터처럼 사용하기
재미있는 제품이 있다.
맥과 PC를 한 컴퓨터처럼 사용하기
하나의 키보드와 마우스로 맥과 피씨를 동시에 제어할수 있는 제품이다.
놀라운 것은, 서로간에 copy and paste도 가능하다는 것이다.
인용 :
클릭손(http://www.clixon.co.kr) VCC(Virtual Console Connection)-400은 두 대의 윈도우, 맥OS 또는 리눅스 컴퓨터를 전용 고속 (100Mbps) 데이터 케이블로 연결하여,
1) 한쪽 컴퓨터에 연결된 키보드와 마우스로 듀얼 모니터 사용하듯이 편리하게 두 컴퓨터를 제어할 수 있게 하며,
2) 드래그-앤-드롭 (Drag-and-Drop) 기능을 이용하여 컴퓨터끼리 서로 쉽게 파일/폴더를 복사할 수 있습니다.(윈도우 컴퓨터끼리만 해당)
3) 또한, 두 컴퓨터의 클립보드 내용을 공유함으로써 파일, 글자, 이미지 등을 한쪽 컴퓨터에서 복사하여 다른 쪽 컴퓨터의 원하는 곳에 쉽게 붙여넣기를 할 수 있습니다.
4) 뿐만 아니라, 한쪽 컴퓨터에 연결된 인터넷 연결을 인터넷에 연결되지 않은 컴퓨터와 공유하여 사용할 수 있게 합니다.
따라서, 두 대의 서로 다른 컴퓨터를 마치 듀얼 모니터가 연결된 한 대의 컴퓨터처럼 두 컴퓨터를 사용할 수 있게 하여 두 대 컴퓨터 사용자의 작업 효율성을 극대화 해주는 제품입니다.
출처 :
http://www.clixon.co.kr
맥과 PC를 한 컴퓨터처럼 사용하기
맥과 PC를 한 컴퓨터처럼 사용하기
하나의 키보드와 마우스로 맥과 피씨를 동시에 제어할수 있는 제품이다.
놀라운 것은, 서로간에 copy and paste도 가능하다는 것이다.
인용 :
클릭손(http://www.clixon.co.kr) VCC(Virtual Console Connection)-400은 두 대의 윈도우, 맥OS 또는 리눅스 컴퓨터를 전용 고속 (100Mbps) 데이터 케이블로 연결하여,
1) 한쪽 컴퓨터에 연결된 키보드와 마우스로 듀얼 모니터 사용하듯이 편리하게 두 컴퓨터를 제어할 수 있게 하며,
2) 드래그-앤-드롭 (Drag-and-Drop) 기능을 이용하여 컴퓨터끼리 서로 쉽게 파일/폴더를 복사할 수 있습니다.(윈도우 컴퓨터끼리만 해당)
3) 또한, 두 컴퓨터의 클립보드 내용을 공유함으로써 파일, 글자, 이미지 등을 한쪽 컴퓨터에서 복사하여 다른 쪽 컴퓨터의 원하는 곳에 쉽게 붙여넣기를 할 수 있습니다.
4) 뿐만 아니라, 한쪽 컴퓨터에 연결된 인터넷 연결을 인터넷에 연결되지 않은 컴퓨터와 공유하여 사용할 수 있게 합니다.
따라서, 두 대의 서로 다른 컴퓨터를 마치 듀얼 모니터가 연결된 한 대의 컴퓨터처럼 두 컴퓨터를 사용할 수 있게 하여 두 대 컴퓨터 사용자의 작업 효율성을 극대화 해주는 제품입니다.
출처 :
http://www.clixon.co.kr
맥과 PC를 한 컴퓨터처럼 사용하기
Labels:
맥과 PC
Sunday, March 21, 2010
AppleScript 연습 : Substring 함수 구현/String을 character의 list로 만들기
다음과 같이 한다.
참고로, the_array 라고 단순히 쓴 것은 return the_array 와 동일하며
함수의 리턴값을 돌려주는 기능이다. 여기서는 실제로 함수로 쓰이지는 않았다.
인용 : You don't use arrays in AppleScript. The closest thing is list.
레퍼런스 : Strings and Arrays - how do you fill a string to an array by each letter?
set the_string to "Megadeth rocks!"결과 : {"M", "e", "g", "a", "d", "e", "t", "h", " ", "r", "o", "c", "k", "s", "!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""}
set the_array to {}
repeat 32 times
set end of the_array to ""end repeat
repeat with i from 1 to (length of the_string)
set item i of the_array to Substring(the_string, i, 1)end repeat
the_array
----------
on Substring(the_string, start_point, the_length)
return (text start_point thru (start_point + the_length - 1) of the_string)end Substring
참고로, the_array 라고 단순히 쓴 것은 return the_array 와 동일하며
함수의 리턴값을 돌려주는 기능이다. 여기서는 실제로 함수로 쓰이지는 않았다.
인용 : You don't use arrays in AppleScript. The closest thing is list.
레퍼런스 : Strings and Arrays - how do you fill a string to an array by each letter?
Labels:
AppleScript
AppleScript의 property 변수
property 로 정의한 variable 은 그 값이 저장되어 있다.
따라서 AppleScript Editor 에서 Command + R 로 거듭 실행하면 그때마다 값이 올라간다.
Hi there, with applescript you can declare variables as properties. this means that the value of the variable is not reset every time you restart a script but every time you recompile it. this offers a convenient way to store data.
레퍼런스 :
applescript property declaration
Basic AppleScript information and syntax - built-in basic events
따라서 AppleScript Editor 에서 Command + R 로 거듭 실행하면 그때마다 값이 올라간다.
substitute()인용 :
property var : 0
on substitute()
set var to var + 1end substitute
return var
Hi there, with applescript you can declare variables as properties. this means that the value of the variable is not reset every time you restart a script but every time you recompile it. this offers a convenient way to store data.
레퍼런스 :
applescript property declaration
Basic AppleScript information and syntax - built-in basic events
Labels:
AppleScript
AppleScript에서 variable에 값 주기:set and copy
set 의 예
set 은 reference 를 생성하고 copy 는 값을 카피하는 것이다.
복잡한 오브젝트에서는 큰 차이가 난다.
레퍼런스 : Basic AppleScript information and syntax
-- integer (integer numbers)set 와 copy
set x to 5
-- real (real numbers)
set x to 3.57
-- characters (single characters)
set x to "f"
-- strings
set x to "The Hitch-hicker's Guide To The Galaxy"
-- lists (array)
set x to {"foo",2,3.57}
set 은 reference 를 생성하고 copy 는 값을 카피하는 것이다.
copy "Hello world" to x간단한 값에서는 차이가 거의 없지만
복잡한 오브젝트에서는 큰 차이가 난다.
레퍼런스 : Basic AppleScript information and syntax
Labels:
AppleScript
AppleScript에서 Search and Replace 하기
AppleScript에는 regular expression이 없지만, 다음과 같이 search and replace 할수 있다.
레퍼런스 :
Read and write text files with AppleScript
display dialog ( my searchAndReplace("my mommy", "my", "your") )
on searchAndReplace( txt, srch, rpl )
set oldtid to AppleScript's text item delimitersend searchAndReplace
set AppleScript's text item delimiters to {srch}
set temp to every text item of txt
set AppleScript's text item delimiters to {rpl}
set temp to (temp as string)
set AppleScript's text item delimiters to oldtid
return temp
레퍼런스 :
Read and write text files with AppleScript
Labels:
AppleScript
AppleScript에서의 for loop
for loop은 다음과 같이 사용한다.
레퍼런스 :
repeat 문의 좋은 예는 여기 있다:
AppleScript 연습 : String의 character를 하나하나 list의 멤버로 분리하기
set sum to 0
repeat with i from 1 to 5
set sum to sum + iend repeat
display dialog "The sum of the first five number is " & sum & "." buttons {"OK"} default button 1
레퍼런스 :
repeat 문의 좋은 예는 여기 있다:
AppleScript 연습 : String의 character를 하나하나 list의 멤버로 분리하기
Labels:
AppleScript
AppleScript에서 List 사용법
List를 만들고 element 를 access 하는 법은 다음과 같다.
AppleScript 의 List 는 0 base가 아니라 1 base 이다.
사용하였기 때문이다. 예를 들어 property로 정의하지 않고 다음과 같이 하면,
다음과 같은 에러가 난다.
Getting the List of It
AppleScript 의 List 는 0 base가 아니라 1 base 이다.
property theList : {"One", "two"}참고로, 위에서 property 변수를 쓴 이유는 showNthItem(n) 이벤트를
showNthItem(1)
showNthItem(2)
on showNthItem(n)
set theItem to (item n of theList) as textend showNthItem
display dialog theItem
사용하였기 때문이다. 예를 들어 property로 정의하지 않고 다음과 같이 하면,
set theList to {"One", "two"}theList는 showNthItem() 내에서는 scope 때문에 보이지 않기 때문인지
다음과 같은 에러가 난다.
error "The variable theList is not defined."다음과 같이 하면 property 를 쓰지 않고도 제대로 됨.
set x to {"foo", 2, 3.57}다음은 List에 동적으로 값 넣는 법.
set theList to {"One", "two"}
set theItem to (item 1 of theList) as text
display dialog theItem
set yourList to {}레퍼런스 :
set the end of yourList to "111"
set the end of yourList to "2222"
showNthItem(yourList, 1)
showNthItem(yourList, 2)
Getting the List of It
Labels:
AppleScript
AppleScript에서 Text File Read/Write 하기
AppleScript에서 text File을 읽고 쓰려면 다음과 같이 한다.
on ~ end 는 event 이다. 사용자가 만든 event는 function을 이용한 모듈화와도 같다.
(on run ~ end 같은, built-in event 도 있다(출처))
Text File 읽어서 Dialog Box 에 보여주는 스크립트
다음과 같이 as
즉 줄단위로 얻어내는 방법. 다음과 같이 하면 된다.
다음과 같이 UNIX를 이용하여 파일을 읽는 방법도 있다.
Read and write text files with AppleScript
Getting the List of It
Basic AppleScript information and syntax - built-in basic events
on ~ end 는 event 이다. 사용자가 만든 event는 function을 이용한 모듈화와도 같다.
(on run ~ end 같은, built-in event 도 있다(출처))
Text File 읽어서 Dialog Box 에 보여주는 스크립트
set filename to chooseFile()유니코드와 UTF-8
display dialog readFile(filename)
on chooseFile()
set filechosen to choose fileend chooseFile
set filename_ to (filechosen as text)
set filename to POSIX path of filename_
return filename
on readFile(unixPath)
set foo to (open for access (POSIX file unixPath))end readFile
set txt to (read foo for (get eof foo)as
«class utf8»
)
close access foo
return txt
다음과 같이 as
«class utf8»
옵션 없이 하면 "Mac OS Roman" encoded 파일밖에 못읽는다.set txt to (read foo for (get eof foo))다음과 같이 하면 Utf-16 포맷을 읽을 수 있다.
set txt to (read foo for (get eof foo) as Unicode text)Text의 모든 paragraph를 list로 분리하여 얻어내기
즉 줄단위로 얻어내는 방법. 다음과 같이 하면 된다.
set filename to chooseFile()UNIX 이용하기
set fileContent to readFile(filename)
set theList to every paragraph of fileContent
set firstItem to (item 1 of theList) as text
display dialog firstItem
다음과 같이 UNIX를 이용하여 파일을 읽는 방법도 있다.
on readFile( unixPath )레퍼런스 :
return (do shell script "cat '" & unixPath & "'")end
Read and write text files with AppleScript
Getting the List of It
Basic AppleScript information and syntax - built-in basic events
Labels:
AppleScript
AppleScript에서 File Open Dialog Box 스타일로 파일명 얻어내기
choose file 을 사용하면 된다.
choose file 은 AppleScript 로 이미지 리사이즈하는 코드 자동생성하기 에 처음 나왔다.
Prompt 를 함께 주려면 다음과 같이 한다.
choose file 은 AppleScript 로 이미지 리사이즈하는 코드 자동생성하기 에 처음 나왔다.
Prompt 를 함께 주려면 다음과 같이 한다.
set TheFile to (choose file with prompt "Choose a file for Conversion")텍스트 파일만 얻어내려면
set the_posix_file to POSIX path of TheFile
display dialog the_posix_file
set TheFile to (choose file with prompt "Select the file:" of type {"TEXT"}) as string
display dialog TheFile
Labels:
AppleScript
AppleScript에서 Desktop path 얻어내기
다음과 같이 하면 desktop 의 path 를 얻어낼 수 있다.
set out_path to path to desktop
set out_path_posix to (POSIX path of out_path & "test")
display dialog ("Desktop path is : " & out_path_posix)
Labels:
AppleScript
Terminal 또는 AppleScript에서 Spotlight 기능 사용하기
터미널의 mdfind 명령으로 Spotlight 기능을 이용할 수 있다.
다음은 anatomy 라는 글이 들어간 파일을 검색해주는 스크립트.
Understanding mdfind
http://homepage.mac.com/swain/Macinchem/Applescript/AppScript_tut/AppScrip_tut_2/appscript_tut_2.htm
다음은 anatomy 라는 글이 들어간 파일을 검색해주는 스크립트.
set the_script to "mdfind 'anatomy'"레퍼런스 :
set the_text to (do shell script the_script)
set num_records to count of paragraphs in the_text
display dialog ("Number of found : " & num_records)
Understanding mdfind
http://homepage.mac.com/swain/Macinchem/Applescript/AppScript_tut/AppScrip_tut_2/appscript_tut_2.htm
Labels:
AppleScript,
UNIX
AppleScript에서 Clipboard 사용하기
클립보드 사용예 (한글 모아쓰기를 위해 clipboard 사용해본 예)
http://pc-to-mac-changer.blogspot.com/2011/04/applescript.html 참조
사용예
AppleScript에서 클립보드에 원하는 텍스트를 다음과 같이 넣어줄 수 있다.
다음과 같이 한 후 텍스트 에디터에 paste하면 달력을 텍스트 형식으로 넣게 된다.
이것을 이용한 것이다.
set the clipboard to txt -- 한글 모아주기를 위해 클립보드로 옮김-> 실제 사용할때는 원래 있던 클립보드의 내용을 피신시키는 걸 잊지 말것
set txt to the clipboard as string -- 한글 모아주기가 완성.
http://pc-to-mac-changer.blogspot.com/2011/04/applescript.html 참조
사용예
AppleScript에서 클립보드에 원하는 텍스트를 다음과 같이 넣어줄 수 있다.
다음과 같이 한 후 텍스트 에디터에 paste하면 달력을 텍스트 형식으로 넣게 된다.
set the_text to (do shell script "cal")cal 은 UNIX 커맨드에서 달력을 표시해주는 명령인데,
set the clipboard to the_text
이것을 이용한 것이다.
Labels:
AppleScript,
한글 프로그래밍
AppleScript로 이미지 리사이즈하는 코드 자동생성하기
image file을 resize하거나 rotate 하는 등의 코드는
자동 생성이 되므로 쉽게 짤 수 있다.
filename 을 선택하고 오른클릭 해서
자동 생성이 되므로 쉽게 짤 수 있다.
set filechosen to choose file까지 입력한 후,
set filename_ to (filechosen as text)
set filename to POSIX path of filename_
filename 을 선택하고 오른클릭 해서
Image Manipulation > resize를 선택하면 다음과 같이 코드가 자동 생성된다.
set filechosen to choose file다음과 같이 percentage 로 resize 할수도 있다.
set filename_ to (filechosen as text)
set filename to POSIX path of filename_
tell application "Image Events"
set this_image to open filenameend tell
scale this_image to size 400
save this_image in filename
close this_image
scale this_image by factor 0.3
Labels:
AppleScript
AppleScript에서 file path사용할 때 space 처리하는 법
일반 UNIX와 달리 맥에서는 space가 파일명에 들어가는데, 이를 처리하지 않으면 에러가 나게 된다.
예를 들어 다음과 같이 하면 스페이스가 있는 파일명에서는 에러가 난다.
예를 들어 다음과 같이 하면 스페이스가 있는 파일명에서는 에러가 난다.
set ls_result to (do shell script "ls -l " & filename)따라서 다음과 같이 quoted form 을 써줘야 한다.
display dialog ls_result
set ls_result to (do shell script "ls -l " & quoted form of filename)예 : 다음을 실행해볼것
display dialog ls_result
set filechosen to choose file
set filename_ to (filechosen as text)
set filename to POSIX path of filename_
display dialog filename
set ls_result to (do shell script "ls -l " & quoted form of filename)
display dialog ls_result
Labels:
AppleScript
AppleScript에서 dialog box로 파일 선택하기
다음과 같이 하면 된다.
set filechosen to choose file
set filename_ to (filechosen as text)
set filename to POSIX path of filename_
display dialog filename
Labels:
AppleScript
AppleScript에서 UNIX shell 명령 실행하기
다음과 같이 하면
Terminal에 결과를 띄우려면 다음과 같이 한다.
다음은 ls한 것을 Grep을 사용해서 "Adobe"라는 이름이 들어간 어플리케이션들을
reverse alphabetical order 로 정렬해서 보여주는 스크립트이다.
http://homepage.mac.com/swain/Macinchem/Applescript/AppScript_tut/AppScrip_tut_2/appscript_tut_2.htm
do shell script "echo $PATH"AppleScript Editor의 아래쪽에 결과가 나온다.
Terminal에 결과를 띄우려면 다음과 같이 한다.
set the_shell_script to "echo $PATH"activate 는 명시적으로 안해줘도 Terminal이 뜬다.
tell application "Terminal"
end tellactivatedo script the_shell_script
다음은 ls한 것을 Grep을 사용해서 "Adobe"라는 이름이 들어간 어플리케이션들을
reverse alphabetical order 로 정렬해서 보여주는 스크립트이다.
set a to "Macintosh HD:Applications:"do shell script 에서는 다음과 같이 결과가 텍스트로 얻어진다.
set p to POSIX path of a
set the_text to (do shell script "ls " & p & "| grep Adobe | sort -r")
display dialog the_text
set the_text to (do shell script "cal")레퍼런스 :
set the clipboard to the_text
http://homepage.mac.com/swain/Macinchem/Applescript/AppScript_tut/AppScrip_tut_2/appscript_tut_2.htm
Labels:
AppleScript
AppleScript 쉽게 짜는 법
AppleScript Editor에서 오른버튼 클릭하면 Popup menu 가 나오는데 이걸 선택하면
아래부분에 if.. else 문이라던가
파일들을 다 찾는 for loop 같은 것을 자동으로 생성할 수 있게 되어 있다.
아래부분에 if.. else 문이라던가
파일들을 다 찾는 for loop 같은 것을 자동으로 생성할 수 있게 되어 있다.
Labels:
AppleScript
Saturday, March 20, 2010
AppleScript의 File Path 포맷과 UNIX의 POSIX 포맷변환
애플스크립트에서 file path는 :로 구분하지만
유닉스에서는 /로 구분하므로(POSIX방식),
이를 변환해주는 것이 필요하다.
애플스크립트 포맷에서 UNIX포맷으로 변환하기
AppleScript Editor에서 다음 예제를 실행해보자.
다음 example도 실행해보자.
http://homepage.mac.com/swain/Macinchem/Applescript/page2.html
http://homepage.mac.com/swain/Macinchem/Applescript/AppScript_tut/AppScrip_tut_2/appscript_tut_2.htm
유닉스에서는 /로 구분하므로(POSIX방식),
이를 변환해주는 것이 필요하다.
애플스크립트 포맷에서 UNIX포맷으로 변환하기
AppleScript Editor에서 다음 예제를 실행해보자.
set a to "Macintosh HD:Applications:Utilities:" -- Mac file path기타:
set p to POSIX path of a -- Convert to POSIX path
set the_text to (do shell script "ls " & p)
display dialog the_text
set a to "Macintosh HD:Applications:Utilities:"UNIX포맷에서 애플스크립트 포맷으로 변환하기
대신
set a to ":Applications:Utilities:"
로 해도 된다.
다음 example도 실행해보자.
set this_file to choose file보충:
set this_file_text to (this_file as text)
display dialog this_file_text
set posix_this_file to POSIX path of this_file
display dialog posix_this_file
set this_file_back to (POSIX file posix_this_file) as string
display dialog this_file_back
set this_file_back to (POSIX file posix_this_file) as string레퍼런스:
대신
set this_file_back to (posix_this_file as POSIX file) as string
로 해도 된다.
http://homepage.mac.com/swain/Macinchem/Applescript/page2.html
http://homepage.mac.com/swain/Macinchem/Applescript/AppScript_tut/AppScrip_tut_2/appscript_tut_2.htm
Labels:
AppleScript
AppleScript 를 공부하고 싶은데, 어떤 tutorial을 보면 좋은가?
질문 : AppleScript 를 공부하고 싶은데, 어떤 자료를 보면 좋은가?
답 : 좋은 튜토리얼들은 다음과 같다.
다음은 화학 관련 분야의 사람이 쓴 튜토리얼인데 설명이 잘돼있다
(뒷부분은 화학 분야에 특화되어 있어서 비추).
Tutorial : AppleScript for Scientists
여기로 가서 맨 위의 Applescript for Scientists Tutorials 를 클릭하면 된다.
Tutorial : AppleScript for Scientists 의 Table of Contents
1 Getting Started
2 Path and Shell
3 Reading, Writing and using Lists
...
다음 튜토리얼도 알기 쉽다.
http://www.atpm.com/9.06/roll.shtml
그리고 다음 튜토리얼은 이미지 관련 스크립트 짜는 법을 설명하고 있는데, 이것도 좋다.
http://www.mactech.com/articles/mactech/Vol.21/21.03/BasicImageManipulation/index.html
AppleScript Essentials-Performing Basic Image Manipulation...Using Your Existing Software!
다음은 파일 읽고 쓰기 등 잘 설명된 튜토리얼
Read and write text files with AppleScript
기타 참고자료:
다음은 위키피디아의 애플스크립트의 개요.
http://en.wikipedia.org/wiki/AppleScript
AppleScript Tutorial: Display Dialog and Returning Values
http://applescripts.thompson-solutions.com/applescript_tutorials_Basic_Advanced.php
AppleScript Tutorial
http://www.tandb.com.au/applescript/tutorial/
http://www.tandb.com.au/applescript/tutorial/03/
Application 을 AppleScript 로 제어하는 것 관련해서 잘 나온것:
http://www.cvc.sunysb.edu/323/AppleScript/AppleScript.html
(즉 윈도우를 닫는다거나 등등)
기타 AppleScript 관련 블로그 및 자료 등
Alec's Web Log
AppleScript for Python Programmers
REALbasic City - Introduction to AppleScript
각종 AppleScript 모음. 양은 방대하지만 search에 좀 어려움이 있음
http://macscripter.net/viewforum.php?id=2
AppleScript 관련 개발자 블로그.
hasseg.org
Commands Reference
답 : 좋은 튜토리얼들은 다음과 같다.
다음은 화학 관련 분야의 사람이 쓴 튜토리얼인데 설명이 잘돼있다
(뒷부분은 화학 분야에 특화되어 있어서 비추).
Tutorial : AppleScript for Scientists
여기로 가서 맨 위의 Applescript for Scientists Tutorials 를 클릭하면 된다.
Tutorial : AppleScript for Scientists 의 Table of Contents
1 Getting Started
2 Path and Shell
3 Reading, Writing and using Lists
...
다음 튜토리얼도 알기 쉽다.
http://www.atpm.com/9.06/roll.shtml
그리고 다음 튜토리얼은 이미지 관련 스크립트 짜는 법을 설명하고 있는데, 이것도 좋다.
http://www.mactech.com/articles/mactech/Vol.21/21.03/BasicImageManipulation/index.html
AppleScript Essentials-Performing Basic Image Manipulation...Using Your Existing Software!
다음은 파일 읽고 쓰기 등 잘 설명된 튜토리얼
Read and write text files with AppleScript
기타 참고자료:
다음은 위키피디아의 애플스크립트의 개요.
http://en.wikipedia.org/wiki/AppleScript
AppleScript Tutorial: Display Dialog and Returning Values
http://applescripts.thompson-solutions.com/applescript_tutorials_Basic_Advanced.php
AppleScript Tutorial
http://www.tandb.com.au/applescript/tutorial/
http://www.tandb.com.au/applescript/tutorial/03/
Application 을 AppleScript 로 제어하는 것 관련해서 잘 나온것:
http://www.cvc.sunysb.edu/323/AppleScript/AppleScript.html
(즉 윈도우를 닫는다거나 등등)
기타 AppleScript 관련 블로그 및 자료 등
Alec's Web Log
AppleScript for Python Programmers
-> AppleScript 기본이 되면, 이것이 아마 가장 유용한 레퍼런스일 것이다.
http://devdaily.com/REALbasic City - Introduction to AppleScript
각종 AppleScript 모음. 양은 방대하지만 search에 좀 어려움이 있음
http://macscripter.net/viewforum.php?id=2
AppleScript 관련 개발자 블로그.
hasseg.org
Commands Reference
This chapter describes the commands available to perform actions in AppleScript scripts. For information on how commands work, see “Commands Overview.”
The commands described in this chapter are available to any script—they are either built into the AppleScript language or added to it through the standard scripting additions (described in “Scripting Additions”).
-> display dialog 즉 messagebox 에 대한 내용이 잘 나와 있어서 매우 유용.
Labels:
AppleScript
이미지를 리사이즈해주는 애플스크립트
일단 링크만 걸어둠 :
Drag-and-drop script to quickly resize any image System
애플스크립트 에디트하는 법 :
애플스크립트는 .scpt 확장자로 저장한 텍스트파일에 저장하면 되는데
.scpt 은 기본적으로 애플스크립트 에디터에서 에디트하게 된다.
이것을 에디터에서 어플리케이션 포맷(.app) 으로 저장해주면,
더블클릭이나 드래그앤 드롭으로 실행 가능한 스크립트가 된다.
레퍼런스 : http://capucapu-blog.blogspot.com/2010/03/blog-post_20.html
Drag-and-drop script to quickly resize any image System
애플스크립트 에디트하는 법 :
애플스크립트는 .scpt 확장자로 저장한 텍스트파일에 저장하면 되는데
.scpt 은 기본적으로 애플스크립트 에디터에서 에디트하게 된다.
이것을 에디터에서 어플리케이션 포맷(.app) 으로 저장해주면,
더블클릭이나 드래그앤 드롭으로 실행 가능한 스크립트가 된다.
레퍼런스 : http://capucapu-blog.blogspot.com/2010/03/blog-post_20.html
Labels:
AppleScript
Wednesday, March 17, 2010
mpc 파일을 mp3 로 변환하기
질문:
맥에서 mpc 파일을 플레이하고 싶은데, 방법이 없는가?
답:
VLC에서 플레이가 되긴 하지만, 현재 버전에서는 한곡을 재생한후 다운되는 버그가 있다.
따라서 mpc 파일을 aiff 또는 wav 로 convert 하는 방법을 추천한다.
사용하기 좋은 유틸리티로는 mppdec 가 있다 (Terminal에서 실행)
굳이 mp3로 변환하려면 aiff 를 mp3 로 변환하면 되지만,
aiff 로 이미 변환이 되어 있다면 플레이가 잘 되므로 그럴 필요는 없을 것이다.
설명 : mppdec 사용법
mppdec과 mpc 파일들이 같은 폴더에 있다고 가정하고, 다음과 같이 실행하면 된다.
https://wincent.com/wiki/Converting_MPC_audio_files_to_MP3
http://www.musepack.net/index.php?pg=osx
맥에서 mpc 파일을 플레이하고 싶은데, 방법이 없는가?
답:
VLC에서 플레이가 되긴 하지만, 현재 버전에서는 한곡을 재생한후 다운되는 버그가 있다.
따라서 mpc 파일을 aiff 또는 wav 로 convert 하는 방법을 추천한다.
사용하기 좋은 유틸리티로는 mppdec 가 있다 (Terminal에서 실행)
굳이 mp3로 변환하려면 aiff 를 mp3 로 변환하면 되지만,
aiff 로 이미 변환이 되어 있다면 플레이가 잘 되므로 그럴 필요는 없을 것이다.
설명 : mppdec 사용법
mppdec과 mpc 파일들이 같은 폴더에 있다고 가정하고, 다음과 같이 실행하면 된다.
./mppdec --aiff *.mpc .레퍼런스 :
https://wincent.com/wiki/Converting_MPC_audio_files_to_MP3
http://www.musepack.net/index.php?pg=osx
Labels:
음악
Sunday, March 14, 2010
Mac OS X에서 .7z 압축파일 풀기
질문 : Mac OS X에서 .7z 와 같이 자주 안쓰이는 압축파일을 풀려면 어떤 유틸리티가 좋은가?
답 : Stuffit Expander를 쓰면 된다.
다운로드 :
http://www.stuffit.com/mac/expander.html
답 : Stuffit Expander를 쓰면 된다.
다운로드 :
http://www.stuffit.com/mac/expander.html
Labels:
압축유틸리티
Mac OS X에서 .bin/.cue 어떻게 쓰나
질문 : .bin/.cue 을 맥에서 쓸수 없는데 어떻게 하나?
답 : bchunker (BinChunker) 를 이용해서 .iso 로 변환한다.
다음 링크에서 다운받으면 된다.
Convert .bin + .cue -> .iso on Mac OSX
다음 링크에도 있긴 한데 왜인지 zip 이 안풀림
Convert .bin/.cue to .iso on Mac OSX
BinChunker for OS X
인스톨
다운받아서 압축을 풀면 bchunk 라는 실행파일이 나오는데 이것을 /usr/bin/ 에 넣어준다.
커맨드 라인에서 한다면
sudo cp bchunk /usr/bin/
와 같이 카피해주면 된다.
사용법
다음과 같이 하면 된다.
bchunk myinputfile.bin myinputfile.cue myoutputfile
Troubleshooting
혹시 executable 하지 않으면 다음과 같이 해준다.
sudo chmod a+x /usr/bin/bchunk
답 : bchunker (BinChunker) 를 이용해서 .iso 로 변환한다.
다음 링크에서 다운받으면 된다.
Convert .bin + .cue -> .iso on Mac OSX
다음 링크에도 있긴 한데 왜인지 zip 이 안풀림
Convert .bin/.cue to .iso on Mac OSX
BinChunker for OS X
인스톨
다운받아서 압축을 풀면 bchunk 라는 실행파일이 나오는데 이것을 /usr/bin/ 에 넣어준다.
커맨드 라인에서 한다면
sudo cp bchunk /usr/bin/
와 같이 카피해주면 된다.
사용법
다음과 같이 하면 된다.
bchunk myinputfile.bin myinputfile.cue myoutputfile
Troubleshooting
혹시 executable 하지 않으면 다음과 같이 해준다.
sudo chmod a+x /usr/bin/bchunk
Labels:
DVD
Mac 에서 Perl 쓰기
맥 OS X 에는 Perl 이 기본적으로 깔려 있다.
별도로 세팅해줄 것은 없다.
In Unix, how can I replace a single string in a large number of files?
http://kb.iu.edu/data/afrk.html
Introduction to Perl for Mac OS X
http://www.mactech.com/articles/mactech/Vol.18/18.09/PerlforMacOSX/index.html
별도로 세팅해줄 것은 없다.
In Unix, how can I replace a single string in a large number of files?
http://kb.iu.edu/data/afrk.html
Introduction to Perl for Mac OS X
http://www.mactech.com/articles/mactech/Vol.18/18.09/PerlforMacOSX/index.html
Labels:
UNIX
Friday, March 5, 2010
The disk copy of " " was changed since you last opened or saved it. Do you want to save anyway?
질문 : 포토샵에서 작업중이던 파일을 저장하려고 하면 The disk copy of [파일명] was changed since you last opened or saved it. Do you want to save anyway? 라는 메시지가 자꾸 뜨는데 외부에서는 이 파일을 건드린 적이 없다. 왜 이런가?
답 : 간혹 특별한 이유 없이 이런 문제가 생기는데시스템의 하드가 거의 다 찼거나 시스템이 불안할 경우에 발생하는 것 같다. 이럴 경우 파일을 지워 하드를 비우고 시스템을 재시동해보면 증상이 사라질 것이다. (휴지통도 다 비워야 하는 것을 잊지 말자)
답 : 간혹 특별한 이유 없이 이런 문제가 생기는데시스템의 하드가 거의 다 찼거나 시스템이 불안할 경우에 발생하는 것 같다. 이럴 경우 파일을 지워 하드를 비우고 시스템을 재시동해보면 증상이 사라질 것이다. (휴지통도 다 비워야 하는 것을 잊지 말자)
Labels:
문제해결
Subscribe to:
Posts (Atom)