xargs supports -a on Linux

This commit is contained in:
Arun Prakash Jana 2018-11-28 17:53:28 +05:30
parent d8df13f665
commit 5cae446aaf
No known key found for this signature in database
GPG key ID: A75979F35C080412

View file

@ -3098,12 +3098,31 @@ nochange:
goto nochange; goto nochange;
} }
if (sel == SEL_CP) if (sel == SEL_CP) {
snprintf(g_buf, MAX_CMD_LEN, "cat %s | xargs -0 -o -%c src cp -iRp src .", g_cppath, REPLACE_STR); snprintf(g_buf, MAX_CMD_LEN,
else if (sel == SEL_MV) #ifdef __linux__
snprintf(g_buf, MAX_CMD_LEN, "cat %s | xargs -0 -o -%c src mv -i src .", g_cppath, REPLACE_STR); "xargs -0 -a %s -%c src cp -iRp src .",
else /* SEL_RMMUL */ #else
snprintf(g_buf, MAX_CMD_LEN, "cat %s | xargs -0 -o rm -ir", g_cppath); "cat %s | xargs -0 -o -%c src cp -iRp src .",
#endif
g_cppath, REPLACE_STR);
} else if (sel == SEL_MV) {
snprintf(g_buf, MAX_CMD_LEN,
#ifdef __linux__
"xargs -0 -a %s -%c src mv -i src .",
#else
"cat %s | xargs -0 -o -%c src mv -i src .",
#endif
g_cppath, REPLACE_STR);
} else { /* SEL_RMMUL */
snprintf(g_buf, MAX_CMD_LEN,
#ifdef __linux__
"xargs -0 -a %s rm -ir",
#else
"cat %s | xargs -0 -o rm -ir",
#endif
g_cppath);
}
spawn("sh", "-c", g_buf, path, F_NORMAL | F_SIGINT); spawn("sh", "-c", g_buf, path, F_NORMAL | F_SIGINT);