diff options
author | KlZX <azszwymmvqdi@yahoo.com> | 2019-08-12 17:08:02 +0200 |
---|---|---|
committer | KlZX <azszwymmvqdi@yahoo.com> | 2019-08-12 17:08:02 +0200 |
commit | 1027cd0cf29a418e0d01f27a9e595c3fd516ec9a (patch) | |
tree | 636e3cfd5bfa06688f8ceb1fb61bb3c976c9e6cf | |
parent | e774634b5babc0c6bb972bdff796f5271671f7dc (diff) | |
download | nnn-1027cd0cf29a418e0d01f27a9e595c3fd516ec9a.tar.gz |
Replaced 'sed' with 'awk'
-rw-r--r-- | src/nnn.c | 7 |
1 files changed, 1 insertions, 6 deletions
@@ -1299,12 +1299,7 @@ static void archive_selection(const char *cmd, const char *archive, const char * { char *buf = (char *)malloc(CMD_LEN_MAX * sizeof(char)); snprintf(buf, CMD_LEN_MAX, -#ifdef __linux__ - "sed -ze 's|^%s/||' '%s' | xargs -0 %s %s", curpath, g_cppath, cmd, archive); -#else - "cat '%s' | tr '\\0' '\n' | sed -e 's|^%s/||' | tr '\n' '\\0' | xargs -0 %s %s", - g_cppath, curpath, cmd, archive); -#endif + "awk 'BEGIN{RS=\"\\0\"} {gsub(\"%s/\", \"\", $0); printf \"%%s\\0\", $0}' %s | xargs -0 %s %s", curpath, g_cppath, cmd, archive); spawn("sh", "-c", buf, curpath, F_NORMAL); free(buf); } |