形式(無視するテキストと数字が混在する形式)$x/
のデータを追加したいと思います。$x-xyz
xyz
サンプルデータ
AB-10C
CD-02E
出力
AB/AB-10C
CD/CD-02E
ハイフンの前のテキストで変数を説明する方法は?私の意見は次のとおりです。
define $x = # don't know how to do that
## and then somehow use sed to prepend
sed -i s/$/$x/ file
# I don't know if sed can handle variables though - the above one liner is from Googling
ベストアンサー1
高速で汚れたawk
バージョンは次のとおりです。
awk -F- '{print $1"/"$0}' input_file > output_file
これは、-
フィールド区切り文字として機能し、最初の列(つまり、最初の列より前のすべての項目-
)を印刷してからを印刷し、/
元の行全体を印刷することです。
同じことを行う1つの方法sed
は次のとおりです。
sed -e 's;^\([^-]*\)\(.*\);\1/\1\2;' input_file > output_file
(しかし読みにくいです。)
これを簡単に行うには、bash
次のものを使用できます。文字列演算:
$ foo=AB-10C
$ prefix=${foo%%-*}
$ echo ${prefix}/${foo}
AB/AB-10C
while read
データがファイルから来る場合は、ループまたは同様の方法で使用してください。