From db310ac3c96138bbcdf04cae8d547bc2aad04ac2 Mon Sep 17 00:00:00 2001 From: koronya Date: Thu, 22 Jan 2026 03:50:46 +0900 Subject: [PATCH] [JS][7kyu] Parsing Commandline Arguments --- .../parsing-commandline-arguments/koronya.js | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 codewars/7kyu/parsing-commandline-arguments/koronya.js diff --git a/codewars/7kyu/parsing-commandline-arguments/koronya.js b/codewars/7kyu/parsing-commandline-arguments/koronya.js new file mode 100644 index 000000000..979380421 --- /dev/null +++ b/codewars/7kyu/parsing-commandline-arguments/koronya.js @@ -0,0 +1,32 @@ +// [JS][7kyu] Parsing Commandline Arguments +// parsing-commandline-arguments +// https://www.codewars.com/kata/55538e3de348a57f7e000076/train/javascript + +const VALID_REGEX = /[&;>|]/ + +const args = (cmd) => { + const result = [] + const arr = cmd.trim().split(' ') + const arrLength = arr.length + + for (let i = 0; i < arrLength; i += 1 || 0) { + const item = arr[i] + const match = item.match(VALID_REGEX) + + if (!match) { + result.push(item) + } else { + const index = match.index + if (index > 0) { + result.push(item.slice(0, index)) + } + break + } + } + return result +} + +args('ls -R /') +args('cat /tmp/data.txt | less') +args(' ls -aF') +args('ls -R /&echo not done;echo ok')