如果您想了解bash–在’for循环’下的awk’ifcondition’中求和变量的相关知识,那么本文是一篇不可错过的文章,我们将对bashfor循环文件进行全面详尽的解释,并且为您提供关于Andr
如果您想了解bash – 在’for循环’下的awk’if condition’中求和变量的相关知识,那么本文是一篇不可错过的文章,我们将对bash for循环文件进行全面详尽的解释,并且为您提供关于Android’InvocationTargetException’和’UnsupportedOperationException’、bash Cookbook, 2nd Edition Solutions and Examples for bash Users pdf、bash shell脚本for循环中的两个变量、bash – 使用{$var}在for循环中进行变量替换的有价值的信息。
本文目录一览:- bash – 在’for循环’下的awk’if condition’中求和变量(bash for循环文件)
- Android’InvocationTargetException’和’UnsupportedOperationException’
- bash Cookbook, 2nd Edition Solutions and Examples for bash Users pdf
- bash shell脚本for循环中的两个变量
- bash – 使用{$var}在for循环中进行变量替换
bash – 在’for循环’下的awk’if condition’中求和变量(bash for循环文件)
cat file1.txt 3.1 6.6 0 2.4 7.1 4.9 5.7 1.2 6.1
在这里,我想在每个列的awk中给出一个’if条件’,它将测试条件并返回值1或0(取决于结果)并将其存储在另一个变量中,例如:
#!/bin/bash #code1 awk '{ if ($1 != 0) { x1 = 1 } else { x1 = 0} if ($2 != 0) { x2 = 1 } else { x2 = 0} if ($3 != 0) { x3 = 1 } else { x3 = 0} x = x1 + x2 + x3 print x; }' file1.txt > output.txt
在这种情况下,所需的输出将是:
cat output.txt 2 3 3
我没有遇到任何问题.
考虑这样的情况:不是有3列,而是有10列(n = 10),如果要对每列应用条件,则相同.在这种情况下,我想运行一个for循环,在该循环下定义相同的if条件.但我认为我在指定第n个字段时出错.另外如何执行xn变量的总和(x1 X2 X3 … X10).这是我到目前为止所尝试的:
awk '{ for (n=1; n<=10; n++) if ($n != 0) { xn = 1 } else { xn = 0 } xn+=xn print xn; }' file1_10fields.txt > output_10fields.txt
这不是给我正确的输出.我在哪里弄错了?有没有更优雅的方式来做到这一点?
是xn = xn和print xn应该在循环之外吗?另外,获得总和的正确方法是什么?
解决方法
awk '{sum=0; for (i=1; i<=NF; i++){sum += $i ? 1 : 0} print sum}' file 2 3 3
> Read more about ternary operator
Awk has conditional operator i.e ternary operator ( ?: ) whose feature is similar to the awk If Else Statement. If the conditional-expression is true,action1 will be performed and if the conditional-expression is false action2 will be performed.
Android’InvocationTargetException’和’UnsupportedOperationException’
xml文件:(分隔符的边距最初是7.5dp,这可能是问题吗?)
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/item_full" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#eff0f7" android:baselineAligned="false" android:orientation="vertical" > <RelativeLayout android:id="@+id/item_first_half" android:layout_width="match_parent" android:layout_height="36dp" android:orientation="vertical" > <View android:id="@+id/first_path" android:layout_width="4dp" android:layout_height="4dp" android:layout_marginLeft="40dp" android:layout_marginStart="40dp" android:background="@drawable/selector_car_action_path" /> <ImageView android:id="@+id/im_car_direction_icon" android:layout_width="28dp" android:layout_height="28dp" android:layout_gravity="top" android:layout_marginLeft="28dp" android:layout_marginStart="28dp" android:layout_marginTop="4dp" android:background="@drawable/selector_car_action_background" android:padding="2dp" android:src="@drawable/selector_navi_icon_63" /> <View android:id="@+id/second_path" android:layout_width="4dp" android:layout_height="4dp" android:layout_below="@id/im_car_direction_icon" android:layout_marginLeft="40dp" android:layout_marginStart="40dp" android:background="@drawable/selector_car_action_path" /> <TextView android:id="@+id/tv_direction" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_marginEnd="15dp" android:layout_marginLeft="68dp" android:layout_marginRight="15dp" android:layout_marginStart="68dp" android:singleLine="true" android:text="" android:textColor="@drawable/selector_car_route_turn_text" android:textSize="16sp" /> </RelativeLayout> <RelativeLayout android:id="@+id/item_second_half" android:layout_width="match_parent" android:layout_height="32dp" > <View android:id="@+id/third_path" android:layout_width="4dp" android:layout_height="match_parent" android:layout_marginLeft="40dp" android:layout_marginStart="40dp" android:background="@drawable/selector_car_action_path" /> <TextView android:id="@+id/tv_road_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="68dp" android:layout_marginStart="68dp" android:layout_marginTop="4dp" android:singleLine="true" android:text="" android:textColor="@drawable/selector_car_route_desc" android:textSize="16sp" /> <TextView android:id="@+id/divider_for_road_and_distance" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_marginEnd="7dp" android:layout_marginLeft="7dp" android:layout_marginRight="7dp" android:layout_marginStart="7dp" android:layout_marginTop="4dp" android:layout_toEndOf="@id/tv_road_name" android:layout_toRightOf="@id/tv_road_name" android:singleLine="true" android:text="|" android:textColor="@drawable/selector_car_route_desc" android:textSize="16sp" /> <TextView android:id="@+id/tv_ride_distance" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="15dp" android:layout_marginRight="15dp" android:layout_marginTop="4dp" android:layout_toEndOf="@id/divider_for_road_and_distance" android:layout_toRightOf="@id/divider_for_road_and_distance" android:singleLine="true" android:text="" android:textColor="@drawable/selector_car_route_desc" android:textSize="16sp" /> <View android:layout_width="match_parent" android:layout_height="1px" android:layout_alignParentBottom="true" android:layout_marginEnd="15dp" android:layout_marginLeft="68dp" android:layout_marginRight="15dp" android:layout_marginStart="68dp" android:background="#dee1f0" /> </RelativeLayout> </LinearLayout>
drawable / selector_car_route_desc文件是
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_selected="true" android:color="@color/color_999999"/> <item android:state_selected="false" android:color="@color/color_333333"/> </selector>
崩溃日志:
android.view.InflateException: Binary XML file line #106: Error inflating class <unkNown> android.view.LayoutInflater.createView(LayoutInflater.java:606) com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) android.view.LayoutInflater.onCreateView(LayoutInflater.java:653) android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:678) android.view.LayoutInflater.rInflate(LayoutInflater.java:739) android.view.LayoutInflater.rInflate(LayoutInflater.java:742) android.view.LayoutInflater.inflate(LayoutInflater.java:489) android.view.LayoutInflater.inflate(LayoutInflater.java:396) android.view.LayoutInflater.inflate(LayoutInflater.java:352) com.tencent.map.ama.route.ui.view.e.<init>(CarRouteShowItem.java:78) com.tencent.map.ama.route.ui.view.f.a(CarRouteShowView.java:100) com.tencent.map.ama.route.ui.view.d.a(CarRouteDetailView.java:37) com.tencent.map.ama.route.ui.MapStateCarRoute.e(MapStateCarRoute.java:418) com.tencent.map.ama.route.ui.MapStateCarRoute$1.run(MapStateCarRoute.java:255) android.os.Handler.handleCallback(Handler.java:605) android.os.Handler.dispatchMessage(Handler.java:92) android.os.Looper.loop(Looper.java:137) android.app.ActivityThread.main(ActivityThread.java:4476) java.lang.reflect.Method.invokeNative(Native Method) java.lang.reflect.Method.invoke(Method.java:511) com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:808) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:575) dalvik.system.NativeStart.main(Native Method) cause by: java.lang.reflect.InvocationTargetException: null java.lang.reflect.Constructor.constructNative(Native Method) java.lang.reflect.Constructor.newInstance(Constructor.java:417) android.view.LayoutInflater.createView(LayoutInflater.java:586) com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) android.view.LayoutInflater.onCreateView(LayoutInflater.java:653) android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:678) android.view.LayoutInflater.rInflate(LayoutInflater.java:739) android.view.LayoutInflater.rInflate(LayoutInflater.java:742) android.view.LayoutInflater.inflate(LayoutInflater.java:489) android.view.LayoutInflater.inflate(LayoutInflater.java:396) android.view.LayoutInflater.inflate(LayoutInflater.java:352) com.tencent.map.ama.route.ui.view.e.<init>(CarRouteShowItem.java:78) com.tencent.map.ama.route.ui.view.f.a(CarRouteShowView.java:100) com.tencent.map.ama.route.ui.view.d.a(CarRouteDetailView.java:37) com.tencent.map.ama.route.ui.MapStateCarRoute.e(MapStateCarRoute.java:418) com.tencent.map.ama.route.ui.MapStateCarRoute$1.run(MapStateCarRoute.java:255) android.os.Handler.handleCallback(Handler.java:605) android.os.Handler.dispatchMessage(Handler.java:92) android.os.Looper.loop(Looper.java:137) android.app.ActivityThread.main(ActivityThread.java:4476) java.lang.reflect.Method.invokeNative(Native Method) java.lang.reflect.Method.invoke(Method.java:511) com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:808) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:575) dalvik.system.NativeStart.main(Native Method) cause by: java.lang.UnsupportedOperationException: Can''t convert to dimension: type=0x12 android.content.res.TypedArray.getDimensionPixelSize(TypedArray.java:463) android.view.View.<init>(View.java:2849) android.widget.TextView.<init>(TextView.java:499) android.widget.TextView.<init>(TextView.java:492) java.lang.reflect.Constructor.constructNative(Native Method) java.lang.reflect.Constructor.newInstance(Constructor.java:417) android.view.LayoutInflater.createView(LayoutInflater.java:586) com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) android.view.LayoutInflater.onCreateView(LayoutInflater.java:653) android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:678) android.view.LayoutInflater.rInflate(LayoutInflater.java:739) android.view.LayoutInflater.rInflate(LayoutInflater.java:742) android.view.LayoutInflater.inflate(LayoutInflater.java:489) android.view.LayoutInflater.inflate(LayoutInflater.java:396) android.view.LayoutInflater.inflate(LayoutInflater.java:352) com.tencent.map.ama.route.ui.view.e.<init>(CarRouteShowItem.java:78) com.tencent.map.ama.route.ui.view.f.a(CarRouteShowView.java:100) com.tencent.map.ama.route.ui.view.d.a(CarRouteDetailView.java:37) com.tencent.map.ama.route.ui.MapStateCarRoute.e(MapStateCarRoute.java:418) com.tencent.map.ama.route.ui.MapStateCarRoute$1.run(MapStateCarRoute.java:255) android.os.Handler.handleCallback(Handler.java:605) android.os.Handler.dispatchMessage(Handler.java:92) android.os.Looper.loop(Looper.java:137) android.app.ActivityThread.main(ActivityThread.java:4476) java.lang.reflect.Method.invokeNative(Native Method) java.lang.reflect.Method.invoke(Method.java:511) com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:808) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:575) dalvik.system.NativeStart.main(Native Method)
CarRouteShowItem.java:78的代码是这样的:
View mView = LayoutInflater.from(mContext).inflate(R.layout.car_route_detail_item,null);
CarRouteShowItem不是View的子代,其代码如下:
public class CarRouteShowItem { private Context mContext; private View mView; public CarRouteShowItem(Context context) { mContext = context; // mView is used by caller mView = LayoutInflater.from(mContext).inflate(R.layout.car_route_detail_item,null); // some view finds } // some other methods related with specific logic }
图形布局可以在Eclipse中从API级别8预览到API级别23,但是当我在API级别15的Android Studio中预览时,它会显示错误消息:无法解析资源@style / Widget.TextView,其他API级别没问题,但我没有使用TextView的样式.
解决方法
android:layout_height="1px"
希望你现在能看到.第二个RelativeLayout中的最后一个子项,其id为item_second_half,类型为< View,将其更改为
android:layout_height="1dp"
让我尽快回顾一下
bash Cookbook, 2nd Edition Solutions and Examples for bash Users pdf
Oreilly Bash Cookbook 2nd Edition 1491975334 Early Release.pdf
bash shell脚本for循环中的两个变量
我在两个不同的目录中有png图像和一个可执行文件,它从每个目录中获取图像并处理它们以生成新图像.
我正在寻找一个可以同时获取两个变量的for循环结构.这在C,C等中是可能的,但我如何实现以下内容.代码显然是错误的.
#!/bin/sh im1_dir=~/prev1/*.png im2_dir=~/prev3/*.png index=0 for i,j in $im1_dir $im2_dir # i iterates in im1_dir and j iterates in im2_dir do run_black.sh $i $j done
谢谢!
im1_files=(~/prev1/*.png) im2_files=(~/prev3/*.png) for ((i=0;i<=${#im1_files[@]};i++)); do run_black.sh "${im1_files[i]}" "${im2_files[i]}" done
bash – 使用{$var}在for循环中进行变量替换
脚本:
echo -n "Enter range of number to display using 0..10 format: " read range function func_printrage { for n in {$range}; do echo $n done } func_printrange
>你可以通过使用eval和命令替换来解决这个问题$()
> eval是邪恶的,因为你需要消毒你的输入,否则人们可以输入rm -rf /等范围;并且eval会运行它
>不要使用function关键字,它不是POSIX而已被弃用
>使用read的-p标志而不是echo
但是,出于学习目的,您可以这样做:
read -p "Enter range of number to display using 0..10 format: " range func_printrange() { for n in $(eval echo {$range}); do echo $n done } func_printrange
注意:在这种情况下,使用eval是正常的,因为您只是回显范围
今天关于bash – 在’for循环’下的awk’if condition’中求和变量和bash for循环文件的介绍到此结束,谢谢您的阅读,有关Android’InvocationTargetException’和’UnsupportedOperationException’、bash Cookbook, 2nd Edition Solutions and Examples for bash Users pdf、bash shell脚本for循环中的两个变量、bash – 使用{$var}在for循环中进行变量替换等更多相关知识的信息可以在本站进行查询。
本文标签: