Skip to main content

[Linux/Grep] How to find hangul or japanese characters in soruce code

Following scripts offer you that finding Hangul, Katakana, Hiragana, Ganji(Han), Hiragana in your source code (ts file)

"^((?!\/\/).)*"means that ignore "// comments".
The script uses "property-name" of Regular Expressions.

#!/bin/bash

BASE_SRC_FOLDER=../src
IGNORE_FILE_POSTFIX=( "spec.ts" )
#GREP_PATTERN="^((?!\/\/).)*(\p{Hiragana}|\p{Han}|\p{Katakana})" # for Japanse
GREP_PATTERN="^((?!\/\/).)*\p{Hangul}.*" # for Hangul

CUR_DIR=`pwd`
if [ "`basename $CUR_DIR`" != "script" ]; then
  echo "Error: you must run `basename $0` in script directory."
  exit
fi

echo "Search predefined characters in ts file of ${BASE_SRC_FOLDER} folder."
TS_FILE_LIST=`find ${BASE_SRC_FOLDER} -name "*.ts"`

for CUR_FILE in $TS_FILE_LIST
do
  let IS_RUN=1
  for CUR_IGNORE_FILENAME in ${IGNORE_FILE_POSTFIX[@]}
  do
    if [ "${CUR_FILE%${CUR_IGNORE_FILENAME}}" != ${CUR_FILE} ] ; then
      let IS_RUN=0
      break
    fi
  done
  if [ $IS_RUN -eq 1 ]; then
    grep -nHP "${GREP_PATTERN}"  ${CUR_FILE}
  fi
done

Comments

Popular posts from this blog

[raspbian] How To Install Python-3.6.11

Environment   raspbian: jessie   Linux phome 4.9.35-v7+ #1014 SMP Goal:   To setup Jupyter Notebook.   (needed pip3 18.1. (It required Python 3.5 but mine is 3.4.2) Conclusion:   - Python-3.6.11 : OK   - Python-3.8.3      make : OK, but pip cannot connect TLS/SSL       ( https://stackoverflow.com/questions/62827291/warning-pip-is-configured-with-locations-that-require-tls-ssl-however-the-ssl )      I think that it occurred by the difference of  openssl versions.      (But I did not to try figure out)    - Python-3.7.4 : Same problem like 3.8.3.    - Python-3.5.9 : Compile error by gcov dependency. Method:   - Download 3.6.11 source and compile.   - Type "make altinstall"   - Make file links with "update-alternatives" command.

[bash-script/gcc] check warning of make within git-diff of commit

When you need check "make warning" in specific commits, you can use this script to check just in some commits. This script takes some steps. step1. You must know your commit hash. : like abcd1234 step2. Checkout to your commit.  Like this, git checkout abcd1234. step3. You need output file that run make.  Try to run command "make &> myoutput" step4. Then run this. ./new_warning.sh abcd1234 myoutput You can download this script :  new_warning.sh

Redmine production.log to uri log

But.. It doesn't work well. (Because the sequence of line is not arranged.) It is better way to use ' redmine_access_logger' plugin than this #!/bin/bash # Setting LOG_FILE=/redmine-3.3.3/log/production.log #LOG_FILE=mylog.log PIDFILE=/var/run/redmine_info_log.pid # Program Variables OUTPUT_LOGDIR=`dirname ${LOG_FILE}` OPT_DEBUG=0 URI_FILTER_REGEX="(^\"/people/avatar)|(^/attachments/thumbnail/)|(^\"/issues/.*\.xml)" function echo_log() { if [ "$2" != "" ]; then echo "$1" >> $2 else echo "$1" fi } if [ -f $PIDFILE ] then PID=$(cat $PIDFILE) ps -p $PID > /dev/null 2>&1 if [ $? -eq 0 ] then echo "Process already running" exit 1 else ## Process not found assume not running echo $$ > $PIDFILE if [ $? -ne 0 ] then echo "Could not create PID file" exit 1 fi fi else echo $$ > $PIDFILE if [ $? -ne 0 ] ...