국내 기업 임직원들이 해외 본사에서 받은 주식을 매매하거나 해외 금융기관에 예치하면 외국환거래법 위반으로 인해 제재 가능성 존재.
금융감독원은 국내 임직원이 해외 본사 상장주식을 해외 증권사를 통해 매매하거나 해외 금융기관에 예치할 경우 법적 제재가 가해질 수 있음을 경고.
주식보상 제도로 인해 국내 임직원들이 해외 본사 상장주식을 매매하는 경우 증가하고 있으며, 이에 따라 국내 투자중개업자인 국내 증권사를 통해 매매해야 함. 위반 시 과태료 등의 행정처분 가능성 있으며, 자진 신고 시 과태료 50% 감경 가능. 따라서 해외 본사 주식 매매 시 '매매위탁(국내증권사)→해외주식 인수지시→해외주식 인도→본인 계좌 입고→매매' 과정 필요.
주의사항.
위반금액 1만불 이하시 경고, 초과시 과태료.
매매 후 차익에 대한 위반액이 100만원 보다 적으면 "100만원"을 납부.
매매 후 차익에 대한 위반액이 100만원보다 크면, "위반금액 x 2%" 를 납부 (만약 자진신고시 50% 깎아줌)
해외 보유금 (주식 및 채권 등)의 평가금액이 5억원을 초과시, 국세청에 신고해야 함. (미 신고시, 미신고 금액에 대한 과태료 10%)
필요없는 문자열들 예를들면 mm나 : 등등 모두 null으로 변경 시키기 (Replace 함수)
최종적으로 , 콤마를 기준으로 데이터만 출력하는 파일을 생성.
샘플 스크립트
여기서 쪼개진 splitedLine 은 Array 타입이다.
Dim import, export
import = "스페이스바로 분리시킬 파일.txt"
export = "결과 출력파일 이름.txt"
Call ExtractComponentInfo(import, export)
Function ExtractComponentInfo(inputFile, outputFile)
Dim objFSO, objFileIn, objFileOut
Dim strLine, splitedLine
Dim comp1, comp2, dist, minz
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFileIn = objFSO.OpenTextFile(inputFile, 1)
Set objFileOut = objFSO.CreateTextFile(outputFile, True)
Do Until objFileIn.AtEndOfStream
strLine = objFileIn.ReadLine()
splitedLine = Split(strLine, " ")
' UBound(splitedLine) 배열의 크기가 4인지 확인 (0~4 까지 총 5개가 들어있는 배열)
If UBound(splitedLine) = 4 Then
comp1 = splitedLine(1)
comp2 = Replace(splitedLine(4), ":", "")
End If
If UBound(splitedLine) > 4 Then
dist = Replace(Replace(splitedLine(9), "mm", ""), ",", "")
minz = Replace(splitedLine(13), "mm", "")
objFileOut.WriteLine comp1 & "," & comp2 & "," & dist & "," & minz
End If
Loop
objFileIn.Close
objFileOut.Close
Set objFileIn = Nothing
Set objFileOut = Nothing
Set objFSO = Nothing
End Function
C 셸(C shell)은 Unix 및 Unix-like 운영체제(리눅스같은...)에서 사용되는 명령 줄 인터페이스(CLI) 셸입니다.
Shell 은 사용자와 운영체제 사이에서 상호 작용하는 인터페이스 역할을 합니다.
인터페이스란 유저와 컴퓨터간의 소통공간 명령을 주고 받고하는... 윈도우 cmd 같은?
(*BSD : BSD(Berkeley Software Distribution)는 Unix 운영체제의 하나인 Unix 계열 운영체제)
C 셸은 주로 BSD 계열의 Unix 시스템에서 사용되며, C 언어와 유사한 문법을 가지고 있습니다.
C 셸은 명령어 실행, 환경 변수 설정, 스크립트 작성 등 다양한 작업을 수행할 수 있습니다.
C 셸은 다른 셸과 비교하여 독특한 특징
변수를 할당할 때 set 키워드를 사용하고,
배열을 사용할 때는 대괄호 [ ]를 사용합니다.
명령어 치환을 위해 역따옴표 또는 $()를 사용할 수 있습니다.
1. 단일 변수 할당
변수 할당 방법 set variable_name = value
set name = "John"
2. 배열 변수 할당 및 Index 값 사용
배열 변수에 값 할당. set array_name = (value1 value2 value3)
set numbers = (1 2 3 4 5)
배열값을 사용하여 새로운 변수에 할당.
위 numbers 배열에서 3을 빼서 num 변수에 할당하고 싶을때 아래와 같이 indexing 한다. (index는 1부터 시작한다)
set num = $numbers[3]
3. 명령어 치환하기
C 셸에서 명령어 치환을 위해 역따옴표 ` ` 또는 $()를 사용할 수 있습니다. 이를 사용하면 명령어의 결과를 변수에 할당하거나 다른 명령어에서 사용할 수 있습니다.
set result = `command`
set result = $(command)
* C 셸에서 변수를 선언하고 값을 할당할 때에는 set 키워드를 사용하지 않아도 됩니다.
변수명만 지정하고 할당 연산자 =를 사용하여 값을 할당하면 됩니다.
따라서, current_date 변수를 선언하고 값을 할당할 때에는 set 키워드를 사용하지 않습니다.
예1)
# (내장 날짜 명령) date가 실행되어 current_date 변수에 할당 됨
current_date=`date`
# Today's date is: 2023-06-08 이런식으로 출력 됨. 즉 문자열 내 $()를 이용해 변수 사용 가능.
echo "Today's date is: $(date)"
예2)
# result에다 내장 명령 ls -l 를 실행시켜 저장.
result=$(ls -l)
# cat으로 file.txt 텍스트파일을 읽고, 파이프를 사용하여 추가 명령으로 wc -l (라인수 계산)을 내림
# 그리고 그 결과값(숫자)를 line_count에 할당 함.
line_count=$(cat file.txt | wc -l)
(윈도우에서 기본적으로 Linux Shell을 쓸 수 없다. 아래와 같이 윈도우10 이상에서는 사용할 수 있게 설정 가능)