输入字符串:"a-random_name /this/is/a/path_to-file 0"
输出字符串:"arandomname /this/is/a/path_to-file 0"
使用sed只替换第一个单词。 word是随机字符串。
答案 0 :(得分:1)
试试这个简单的awk方法
awk '{gsub(/-|_/,"",$1); print}' <<< '"a-random_name /this/is/a/path_to-file 0"'
输出
"arandomname /this/is/a/path_to-file 0"
<强>解释强>
根据默认空格分隔符提取第一列,并使用-
函数删除_
和gsub
Sed
版本:
我不确定这是否是有效的方法,但它会帮助你
sed -e 's/-\|_//1' -e 's/-\|_//1' <<< '"a-random_name /this/is/a/path_to-file 0"'
答案 1 :(得分:1)
使用GNU sed:
sed ':a;s/^\([^-_ ]*\)[-_]/\1/;ta;' file